리눅스에서 프로세스의 통계를 얻는 방법저자: Albert M. C. Tam( bertie@scn.org)마지막 갱신: 1997년 8월 8일 금요일 09:25:58 HKT 역자: 박민석( mpark@correl4.snu.ac.kr) 번역일: 1999년 2월 17일 수요일머릿말: 이 문서의 저작권(copyleft)은 Albert M. C. Tam( bertie@scn.org)에게 있다. 모든 사본과 부속 문서에 저자 및 편집자의 이름과 본 주의사항이 들어있는 한, 즉 이 문서를 변조하지 않은 한, 상업적이지 않은 목적으로 이 문서를 사용하고 복사 및 배포할 허가권을 준다. 이 문서가 도움이 되기를 바라면서 배포하지만, 명시적이건 암묵적이건 어떤 보장도 할 수 없다. 이 문서에 기재된 정보의 정확성을 기하기 위해 최선의 노력을 다하기는 했지만, 저자나 편집자, 관리자는 실수나, 여기 기재된 정보를 사용한 결과로 입은 손해 등에 대해 어떤 책임도 질 수 없다. 이 문서는 리눅스 호스트에서 프로세스의 통계를 얻는 방법과 그에 사용되는 여러 가지 명령의 사용법을 설명한다. 커널 버젼 1.3.73 보다 이후의 커널을 사용하고 있다고 가정하기로 한다. (최근 레드햇 4.1의 2.0.27 커널에서 시험되었다. -> 역자주: 1999년 2월 현재의 커널은 2.2.1 버젼이다.) 1.3.73 이전의 커널을 사용하고 있다면, 프로세스 통계를 쓰기 위해서 패치를 해야만 한다. 오류나 누락된 점을 발견했다면 망설이지 말고 bertie@scn.org로 알려주기 바란다. 어떤 내용이건 환영한다. 1. 프로세스 통계(Process Accounting)란 무엇인가?프로세스 통계란 리눅스에서 수행된 명령들을 요약하고 기록하는 방법이다. 요즘의 리눅스 커널은 수행된 명령과 그 명령을 내린 사용자, 소요된 CPU 시간 등을 기록한 프로세스 통계를 낼 수 있다. 프로세스 통계를 씀으로써, 시스템 자원이 어떻게 사용되고 있고 사용자들 사이의 자원 배분은 어떤가에 대한 자세한 통계 정보를 얻을 수 있으며, 시스템 모니터링도 가능하다. 리눅스 프로세스 통계의 현재 상태 1.3.73 이후 버젼의 커널에는 프로세스 통계를 지원하는 기능이 통합되어 있다. 이보다 오래된 커널을 쓰고 있다면 패치를 해야 한다. 패치는 iguana.hut.fi/pub/linux/Kernel/process_accounting 에서 구할 수 있다. 리눅스 프로세스 통계를 위한 필요 사항 커널 1.3.73 이후 버젼의 리눅스 커널이 필요하다. 필자는 2.x 버젼의 커널을 권한다. 커널 소스는 sunsite.unc.edu/pub/Linux/kernel/v2.0 에서 구할 수 있다. 프로세스 통계용 소프트웨어 가지고 있는 리눅스 배포판에 따라, 프로세스 통계용 소프트웨어가 시스템에 설치되어 있을 수도 있고, 그렇지 않을 수도 있다. 없다면 sunsite.unc.edu/pub/Linux/system/admin/quota-acct-modified.tgz 의 패키지를 다운받도록 한다. 2. 리눅스 프로세스 통계의 설정
3. 여러가지 프로세스 통계 명령들
4. 번역자의 추가 사항번역자가 쓰고 있는 레드햇 배포판 5.2의 경우, 프로세스 통계 관련 명령은 psacct라는 패키지에 들어있다. 번역자의 시스템에 설치된 내역은 다음과 같다. [<url url="maelto: mpark@mulli mpark" name="mpark@mulli mpark" >]$ rpm -qil psacct Name : psacct Distribution: Manhattan Version : 6.3 Vendor: Red Hat Software Release : 5 Build Date: Mon 17 Aug 1998 04:34:07 AM KST Install date: Sun 27 Dec 1998 08:16:39 AM KST Build Host: porky.redhat.com Group : Utilities/System Source RPM: psacct-6.3-5.src.rpm Size : 82423 License: GPL Packager : Red Hat Software <<url url="maelto: bugs@redhat.com" name=" bugs@redhat.com" >> Summary : Process accounting tools Description : The tools necessary for accounting the activities of processes are included here. /sbin/accton /usr/bin/ac /usr/bin/lastcomm /usr/info/accounting.info.gz /usr/man/man1/ac.1 /usr/man/man1/lastcomm.1 /usr/man/man8/accton.8 /usr/man/man8/sa.8 /usr/sbin/accton /usr/sbin/dump-acct /usr/sbin/dump-utmp /usr/sbin/sa /var/log/pacct /var/log/savacct /var/log/usracct 이렇게 프로세스 통계를 pacct 파일에 저장하기 시작하면, 이 파일은 명령어 사용빈도에 비례해서 금방 커지게 된다. 따라서 logrotate와 cron을 이용해서 관리해야 한다. cron은 백업과 같이 주기적으로 실행하는 명령들을 자동으로 처리하도록 해주는 도구로, 설정 내용은 레드햇의 경우 /etc/crontab에 있다. logrotate는 log 파일들을 주기적으로 관리하는 도구다. 지정된 주기에 맞춰서 각각의 log 파일들의 이름을 바꾸거나, 압축하거나 삭제한다. 보통 /etc/cron.daily에 logrotate라는 스크립트를 두어 /usr/sbin/logrotate를 /etc/logrotate.conf라는 설정에 맞춰 매일 실행하게 되어 있다. 따라서 pacct를 관리하려면 /etc/logrotate.conf에 있는 다른 log에 대한 설정을 참고하여 적당히 /var/log/pacct에 대한 항목을 logrotate.conf에 추가하면 된다. |
Even a hawk is an eagle among crows. |











