탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
시스템 관리 설명서: 고급 관리 Oracle Solaris 10 8/11 Information Library (한국어) |
runacct 셸 스크립트는 각 호출마다 5개의 기본 보고서를 생성합니다. 다음 표는 이러한 보고서를 설명합니다.
표 10-2 일별 계산 보고서
|
이 보고서는 각 사용된 단말기 회선에 대한 정보를 제공합니다. 일별 보고서의 샘플은 다음과 같습니다.
Jan 16 02:30 2004 DAILY REPORT FOR venus Page 1 from Mon Jan 15 02:30:02 2004 to Tue Oan 16 02:30:01 2004 1 runacct 1 acctcon TOTAL DURATION IS 1440 MINUTES LINE MINUTES PERCENT # SESS # ON # OFF console 868 60 1 1 2 TOTALS 868 -- 1 1 2
from 및 to 라인은 보고서에 반영된 기간을 지정합니다. 이 기간은 마지막 일별 보고서가 생성된 시간부터 현재 일별 보고서가 생성된 시간까지입니다. 그 다음, acctwtmp 프로그램으로 /var/adm/wtmpx 파일에 기록된 시스템 재부트, 종료, 전원 장애 복구 및 기타 레코드가 나타납니다. 자세한 내용은 acct(1M) 매뉴얼 페이지를 참조하십시오.
보고서의 두번째 부분은 단말기 회선 이용률을 분석합니다. TOTAL DURATION은 (단말기 회선을 통해 액세스 가능한) 다중 사용자 모드로 시스템이 실행된 기간을 알려줍니다. 다음 목록은 일별 보고서로 제공된 데이터를 설명합니다.
단말기 회선 또는 액세스 포트입니다.
계산 기간 동안 회선이 사용된 시간(분)입니다.
TOTAL DURATION을 MINUTES 수로 나눈 값입니다.
이 회선이나 포트가 로그인 세션 동안 액세스된 횟수입니다.
SESS와 동일합니다. (이 열은 더 이상 의미가 없습니다. 이전에, 이 열은 회선/포트가 사용자 로그인에 사용된 횟수를 나열했습니다.)
해당 회선에서 발생한 사용자 로그아웃 및 인터럽트 횟수입니다. 일반적으로, 인터럽트는 시스템을 다중 사용자 모드로 가져온 후에 ttymon을 처음 호출할 때 포트에 발생합니다. # OFF가 # SESS를 크게 초과할 경우 다중 송신기, 모뎀 또는 케이블 상태가 나빠집니다. 또는, 잘못된 연결이 어딘가 존재합니다. 가장 흔한 원인은 다중 송신기에서 연결이 끊긴 케이블 배선입니다.
실제 시간 동안 /var/adm/wtmpx 파일은 연결 계산이 파생되는 파일이므로 이를 모니터해야 합니다. wtmpx 파일이 급속히 커지면 다음 명령을 실행하여 가장 노이즈가 심한 tty 회선을 확인하십시오.
# /usr/lib/acct/acctcon -l file < /var/adm/wtmpx
인터럽트가 자주 발생하면 일반 시스템 성능에 영향을 미칩니다. 추가적으로 wtmp 파일이 훼손될 수 있습니다. 이 문제를 해결하려면 훼손된 wtmpx 파일을 수정하는 방법을 참조하십시오.
일별 사용량 보고서는 사용자별 시스템 리소스 사용률을 분석합니다. 이 보고서의 샘플은 다음과 같습니다.
Jan 16 02:30 2004 DAILY USAGE REPORT FOR skisun Page 1 LOGIN CPU (MINS) KCORE- MINS CONNECT (MINS) DISK # OF # OF # DISK FEE UID NAME PRIME NPRIME PRIME NPRIME PRIME NPRIME BLOCKS PROCS SESS SAMPLES 0 TOTAL 72 148 11006173 51168 26230634 57792 539 330 0 2150 1 0 root 32 76 11006164 33664 26230616 22784 0 0 0 127 0 4 adm 0 0 22 51 0 0 0 420 0 0 0 101 rimmer 39 72 894385 1766020 539 330 0 1603 1 0 0
다음 표는 일별 사용량 보고서로 제공된 데이터를 설명합니다.
표 10-3 일별 사용량 보고서 데이터
|
일별 명령 요약 보고서는 명령별 시스템 리소스 사용량을 표시합니다. 이 보고서로 가장 많이 사용된 명령을 식별할 수 있습니다. 그 다음, 이러한 명령이 시스템 리소스를 사용하는 방법에 준하여 시스템을 가장 잘 조정하는 방법을 예측할 수 있습니다.
이러한 보고서는 TOTAL KCOREMIN 기준으로 정렬되며, 임시 측정이지만 종종 시스템의 드레인을 계산하는 데 유용합니다.
일별 명령 요약의 샘플은 다음과 같습니다.
TOTAL COMMAND SUMMARY COMMAND NUMBER TOTAL TOTAL TOTAL MEAN MEAN HOG CHARS BLOCKS NAME CMDS KCOREMIN CPU-MIN REAL-MIN SIZE-K CPU-MIN FACTOR TRNSFD READ TOTALS 2150 1334999.75 219.59 724258.50 6079.48 0.10 0.00 397338982 419448 netscape 43 2456898.50 92.03 54503.12 26695.51 2.14 0.00 947774912 225568 adeptedi 7 88328.22 4.03 404.12 21914.95 0.58 0.01 93155160 8774 dtmail 1 54919.17 5.33 17716.57 10308.94 5.33 0.00 213843968 40192 acroread 8 31218.02 2.67 17744.57 11682.66 0.33 0.00 331454464 11260 dtwm 1 16252.93 2.53 17716.57 6416.05 2.53 0.00 158662656 12848 dtterm 5 4762.71 1.30 76300.29 3658.93 0.26 0.00 33828352 11604 dtaction 23 1389.72 0.33 0.60 4196.43 0.01 0.55 18653184 539 dtsessio 1 1174.87 0.24 17716.57 4932.97 0.24 0.00 23535616 5421 dtcm 1 866.30 0.18 17716.57 4826.21 0.18 0.00 3012096 6490
다음 목록은 일별 명령 요약으로 제공된 데이터를 설명합니다.
명령 이름입니다. 모든 셸 프로시저는 sh 이름 아래에 함께 모이는데, 프로세스 계산 시스템에서 객체 모듈만 보고하기 때문입니다. a.out 또는 core 또는 다른 이상한 이름의 프로그램이 발생하는 빈도를 모니터해야 합니다. acctcom 프로그램을 사용하여 누가 이상한 이름의 명령을 실행했는지, 수퍼유저 권한이 사용되었는지 확인해야 합니다.
이 명령이 실행된 총 횟수입니다.
런타임에 프로세스에서 사용된 메모리의 전체 누적 측정량을 분당 킬로바이트 세그먼트 단위로 나타냅니다.
이 프로그램이 누적한 총 처리 시간입니다.
이 프로그램이 누적한 총 실제 시간(벽시계) 분입니다.
NUMBER CMDS 로 반영된 호출 수에 대한 TOTAL KCOREMIN의 평균입니다.
NUMBER CMDS 및 TOTAL CPU-MIN에서 파생된 평균입니다.
총 CPU 시간을 경과 시간으로 나눈 값입니다. 시스템 가용성 대 시스템 사용률의 비율을 나타내며, 실행 중 프로세스에서 소비한 총 사용 가능한 CPU 시간의 상대적 측정값입니다.
읽기 및 쓰기 시스템 호출로 전송된 총 문자 수입니다. 오버플로우 때문에 음수일 수 있습니다.
프로세스가 수행한 물리적 블록 읽기 및 쓰기의 총 개수입니다.
일별 명령 요약 및 월별 명령 요약 보고서의 형식은 실질적으로 똑같습니다. 그러나 일별 요약 보고서는 현재 계산 기간에만 해당하고, 월별 요약 보고서는 회계 기간 시작일에서 현재 날짜까지입니다. 즉, 월별 보고서는 monacct 프로그램의 마지막 호출 이후에 누적된 데이터를 반영하는 누적 요약입니다.
Jan 16 02:30 2004 MONTHLY TOTAL COMMAND SUMMARY Page 1 TOTAL COMMAND SUMMARY COMMAND NUMBER TOTAL TOTAL TOTAL MEAN MEAN HOG CHARS BLOCKS NAME CMDS KCOREMIN CPU-MIN REAL-MIN SIZE-K CPU-MIN FACTOR TRNSFD READ TOTALS 42718 4398793.50 361.92 956039.00 12154.09 0.01 0.00 16100942848 825171 netscape 789 3110437.25 121.03 79101.12 25699.58 0.15 0.00 3930527232 302486 adeptedi 84 1214419.00 50.20 4174.65 24193.62 0.60 0.01 890216640 107237 acroread 145 165297.78 7.01 18180.74 23566.84 0.05 0.00 1900504064 26053 dtmail 2 64208.90 6.35 20557.14 10112.43 3.17 0.00 250445824 43280 dtaction 800 47602.28 11.26 15.37 4226.93 0.01 0.73 640057536 8095 soffice. 13 35506.79 0.97 9.23 36510.84 0.07 0.11 134754320 5712 dtwm 2 20350.98 3.17 20557.14 6419.87 1.59 0.00 190636032 14049
월별 명령 요약으로 제공된 데이터에 대한 설명은 일별 명령 요약을 참조하십시오.
이 보고서는 특정 로그인이 마지막 사용된 날짜를 제공합니다. 이 정보를 사용하여 사용되지 않은 로그인 및 로그인 디렉토리를 찾아서 아카이브하거나 삭제할 수 있습니다. 마지막 로그인 보고서는 다음과 같습니다.
Jan 16 02:30 2004 LAST LOGIN Page 1 01-06-12 kryten 01-09-08 protoA 01-10-14 ripley 01-07-14 lister 01-09-08 protoB 01-10-15 scutter1 01-08-16 pmorph 01-10-12 rimmer 01-10-16 scutter2
언제든지 acctcom 프로그램을 사용하여 /var/adm/pacct n 파일 또는 기타 acct.h 형식의 레코드를 가진 파일의 내용을 검사할 수 있습니다. 이 명령을 실행할 때 아무 파일도 지정하지 않고 어떤 표준 입력도 제공하지 않으면 acctcom 명령이 pacct 파일을 읽습니다. acctcom 명령으로 읽은 각 레코드는 종료된 프로세스에 대한 정보를 제공합니다. ps 명령을 실행하여 활성 프로세스를 검사할 수 있습니다.
acctcom 명령의 기본 출력은 다음 정보를 제공합니다.
# acctcom COMMAND START END REAL CPU MEAN NAME USER TTYNAME TIME TIME (SECS) (SECS) SIZE(K) #accton root ? 02:30:01 02:30:01 0.03 0.01 304.00 turnacct adm ? 02:30:01 02:30:01 0.42 0.01 320.00 mv adm ? 02:30:01 02:30:01 0.07 0.01 504.00 utmp_upd adm ? 02:30:01 02:30:01 0.03 0.01 712.00 utmp_upd adm ? 02:30:01 02:30:01 0.01 0.01 824.00 utmp_upd adm ? 02:30:01 02:30:01 0.01 0.01 912.00 utmp_upd adm ? 02:30:01 02:30:01 0.01 0.01 920.00 utmp_upd adm ? 02:30:01 02:30:01 0.01 0.01 1136.00 utmp_upd adm ? 02:30:01 02:30:01 0.01 0.01 576.00 closewtm adm ? 02:30:01 02:30:01 0.10 0.01 664.00
다음 목록은 각 필드를 설명합니다.
명령 이름(수퍼유저 권한으로 명령이 실행된 경우 파운드(#) 기호가 붙음)
사용자 이름
tty 이름(알 수 없으면 ?로 나열됨)
명령 실행 시작 시간
명령 실행 종료 시간
실제 시간(초)
CPU 시간(초)
평균 크기(킬로바이트)
acctcom 명령 옵션을 사용하여 다음 정보를 얻을 수 있습니다.
fork/exec 플래그의 상태(exec 없는 fork의 경우 1)
시스템 종료 상태
호그 팩터
총 kcore 분
CPU 팩터
전송된 문자
읽은 블록
선택한 프로세스에 대한 평균 통계를 표시합니다. 출력을 기록한 후에 통계가 인쇄됩니다.
가장 최근 명령을 맨 앞에 보여주면서 파일을 역으로 읽습니다. 이 옵션은 표준 입력을 읽을 경우 아무 영향이 없습니다.
fork/exec 플래그 및 시스템 종료 상태 열을 인쇄합니다. 출력은 8진수입니다.
평균 메모리 크기 대신, 실행 중 프로세스에서 소비한 총 사용 가능한 CPU 시간의 비율을 나타내는 호그 팩터를 표시합니다. 호그 팩터 = total-CPU-time/elapsed-time.
출력에 I/O 수를 포함하는 열을 인쇄합니다.
메모리 크기 대신, 총 kcore minutes를 표시합니다.
평균 코어 크기를 표시합니다. 이 크기가 기본값입니다.
출력 레코드가 아닌 평균 통계를 인쇄합니다.
CPU 팩터: user-time/( system-time + user-time)을 표시합니다.
별도의 시스템 및 사용자 CPU 시간을 표시합니다.
출력에서 열 머리글을 제외합니다.
총 CPU 시간(시스템+사용자)이 sec 초를 초과하는 프로세스만 표시합니다.
hr[:min[:sec]] 형식으로 제공된 time 정시에, 또는 그 이전에 존재하는 프로세스를 표시합니다.
hr[:min[:sec]] 형식으로 제공된 time 정시에, 또는 그 이전에 시작하는 프로세스를 표시합니다. -S와 -E를 동시에 사용하면 그 시간에 존재한 프로세스를 표시합니다.
group에 속하는 프로세스만 표시합니다.
factor를 초과하는 프로세스만 표시합니다. 여기서 factor는 "호그 팩터"(-h 옵션 참조)입니다.
chars로 지정된 경계 숫자보다 많은 문자를 전송한 프로세스만 표시합니다.
단말기 /dev/ line에 속하는 프로세스만 표시합니다.
pattern("+"가 하나 이상의 발생 수를 의미한다는 점을 제외한 정규 표현식)과 일치하는 명령만 표시합니다.
레코드를 인쇄하는 대신, acct.h 형식의 레코드를 ofile에 복사합니다.
CPU 시스템 시간이 sec 초를 초과하는 프로세스만 표시합니다.
hr[:min[: sec]] 형식으로 제공된 time 정시에, 또는 그 이후에 존재하는 프로세스를 표시합니다.
hr[:min[: sec]] 형식으로 제공된 time 정시에, 또는 그 이전에 시작하는 프로세스를 표시합니다.
user에 속하는 프로세스만 표시합니다.