pprof 명령으로 커널 스레드의 마이크로프로세서 사용량 측정
pprof 명령은 추적 유틸리티를 사용하여 간격 내에서 실행 중인 모든 커널 스레드에 대한 마이크로프로세서 사용량을 보고합니다.
원시 프로세스 정보는 pprof.flow에 저장되며, 5개의 보고서가 생성됩니다. 플래그를 지정하지 않을 경우 모든 보고서가 생성됩니다.
pprof 프로그램이 설치되어 사용 가능한지 판별하려면 다음 명령을
실행하십시오.
# lslpp -lI bos.perf.tools 보고서의 유형은 다음과 같습니다.
- pprof.cpu
- 실제 마이크로프로세서 시간을 기준으로 정렬된 모든 커널 레벨 스레드를 나열합니다. 포함 내용: 프로세스 이름, 프로세스 ID, 상위 프로세스 ID, 시작 및 종료 시 프로세스 상태, 스레드 ID, 상위 스레드 ID, 실제 CPU 시간, 시작 시간, 정지 시간, 정지 - 시작
- pprof.famcpu
- 모든 계열(공통 상위를 갖는 프로세스)에 대한 정보를 나열합니다. 계열에 대한 프로세스 이름과 프로세스 ID는 상위에 대해 필수적이지 않습니다. 포함 내용: 시작 시간, 프로세스 이름, 프로세스 ID, 스레드 수, 초 CPU 시간
- pprof.famind
- 계열(공통 상위를 갖는 프로세스)로 그룹화된 모든 프로세스를 나열합니다. 하위 프로세스 이름은 상위 프로세스의 이름을 반영합니다. 포함 내용: 시작 시간, 정지 시간, 실제 CPU 시간, 프로세스 ID, 상위 프로세스 ID, 스레드 ID, 상위 스레드 ID, 시작 및 종료 시 프로세스 상태, 레벨, 프로세스 이름
- pprof.namecpu
- 커널 스레드(동일한 이름의 모든 실행 파일)의 각 유형에 대한 정보를 나열합니다. 포함 내용: 프로세스 이름, 스레드 수, CPU 시간, 총 CPU 시간의 %
- pprof.start
- pprof 명령 간격 동안 작업 지정된 모든 커널 스레드(시작 시간을 기준으로 정렬됨)를 나열합니다. 포함 내용: 프로세스 이름, 프로세스 ID, 상위 프로세스 ID, 시작 및 종료 시 프로세스 상태, 스레드 ID, 상위 스레드 ID, 실제 CPU 시간, 시작 시간, 정지 시간, 정지 - 시작
다음은 tthreads32 프로그램을 실행하여
생성된 샘플 pprof.namecpu 파일로서, 4개의 스레드가 분기 실행된 후
각 스레드가 자체 프로세스로 분기 실행됩니다. 그런 다음 이들 프로세스는 여러 개의
ksh와 sleep 프로그램을 실행합니다.
Pprof PROCESS NAME Report
Sorted by CPU Time
From: Thu Oct 19 17:53:07 2000
To: Thu Oct 19 17:53:22 2000
Pname #ofThreads CPU_Time %
======== ========== ======== ========
tthreads32 13 0.116 37.935
sh 8 0.092 30.087
Idle 2 0.055 17.987
ksh 12 0.026 8.503
trace 3 0.007 2.289
java 3 0.006 1.962
kproc 5 0.004 1.308
xmservd 1 0.000 0.000
trcstop 1 0.000 0.000
swapper 1 0.000 0.000
gil 1 0.000 0.000
ls 4 0.000 0.000
sleep 9 0.000 0.000
ps 4 0.000 0.000
syslogd 1 0.000 0.000
nfsd 2 0.000 0.000
========== ======== ========
70 0.306 100.000해당
pprof.cpu는 다음과 같습니다.
Pprof CPU Report
Sorted by Actual CPU Time
From: Thu Oct 19 17:53:07 2000
To: Thu Oct 19 17:53:22 2000
E = Exec'd F = Forked
X = Exited A = Alive (when traced started or stopped)
C = Thread Created
Pname PID PPID BE TID PTID ACC_time STT_time STP_time STP-STT
===== ===== ===== === ===== ===== ======== ======== ======== ========
Idle 774 0 AA 775 0 0.052 0.000 0.154 0.154
tthreads32 5490 11982 EX 18161 22435 0.040 0.027 0.154 0.126
sh 11396 5490 EE 21917 5093 0.035 0.082 0.154 0.072
sh 14106 5490 EE 16999 18867 0.028 0.111 0.154 0.043
sh 13792 5490 EE 20777 18179 0.028 0.086 0.154 0.068
ksh 5490 11982 FE 18161 22435 0.016 0.010 0.027 0.017
tthreads32 5490 11982 CX 5093 18161 0.011 0.056 0.154 0.098
tthreads32 5490 11982 CX 18179 18161 0.010 0.054 0.154 0.099
tthreads32 14506 5490 FE 17239 10133 0.010 0.128 0.143 0.015
ksh 11982 13258 AA 22435 0 0.010 0.005 0.154 0.149
tthreads32 13792 5490 FE 20777 18179 0.010 0.059 0.086 0.027
tthreads32 5490 11982 CX 18867 18161 0.010 0.057 0.154 0.097
tthreads32 11396 5490 FE 21917 5093 0.009 0.069 0.082 0.013
tthreads32 5490 11982 CX 10133 18161 0.008 0.123 0.154 0.030
tthreads32 14106 5490 FE 16999 18867 0.008 0.088 0.111 0.023
trace 5488 11982 AX 18159 0 0.006 0.001 0.005 0.003
kproc 1548 0 AA 2065 0 0.004 0.071 0.154 0.082
Idle 516 0 AA 517 0 0.003 0.059 0.154 0.095
java 11612 11106 AA 14965 0 0.003 0.010 0.154 0.144
java 11612 11106 AA 14707 0 0.003 0.010 0.154 0.144
trace 12544 5488 AA 20507 0 0.001 0.000 0.001 0.001
sh 14506 5490 EE 17239 10133 0.001 0.143 0.154 0.011
trace 12544 5488 CA 19297 20507 0.000 0.001 0.154 0.153
ksh 4930 2678 AA 5963 0 0.000 0.154 0.154 0.000
kproc 6478 0 AA 3133 0 0.000 0.154 0.154 0.000
ps 14108 5490 EX 17001 18867 0.000 0.154 0.154 0.000
tthreads32 13794 5490 FE 20779 18179 0.000 0.154 0.154 0.000
sh 13794 5490 EE 20779 18179 0.000 0.154 0.154 0.000
ps 13794 5490 EX 20779 18179 0.000 0.154 0.154 0.000
sh 14108 5490 EE 17001 18867 0.000 0.154 0.154 0.000
tthreads32 14108 5490 FE 17001 18867 0.000 0.154 0.154 0.000
ls 13792 5490 EX 20777 18179 0.000 0.154 0.154 0.000
:
:
: