명령어/Linux

[RHEL] pcp-ps PCP 메트릭 기반 프로세스 스냅샷

jykim23 2026. 8. 7. 21:36
반응형

부제: ps처럼 프로세스 목록을 뽑되 데이터 출처가 PCP라서 아카이브 재생이 된다

pcp ps          # PID·누적 CPU·명령을 타임스탬프와 함께
pcp ps 1 3      # 1초 간격 3번
Linux  5.14.0-687.10.1.el9_8.0.1.x86_64  (rocky-9-cmd)  07/17/26  x86_64    (2 CPU)
Timestamp        PID        TIME        CMD
20:58:20         1           00:00:01    systemd
20:58:20         2           00:00:00    kthreadd
20:58:20         3           00:00:00    pool_workqueue_
20:58:20         8           00:00:00    kworker/0:0-cgroup_d
20:58:20         11          00:00:00    kworker/R-mm_percpu_

pcp psproc.* PCP 메트릭에서 프로세스 목록을 뽑아 타임스탬프·PID·누적 CPU 시간·명령명을 보여준다. 일반 ps와 결과 모양은 비슷하지만, 값이 pmcd를 거쳐 나오기 때문에 pmlogger 아카이브를 되감아 "과거 어느 시점에 어떤 프로세스가 살아 있었나"를 복원할 수 있다. 사후 분석에서 특정 시각의 프로세스 스냅샷이 필요할 때 진가를 발휘한다.

이렇게도 쓴다

간격을 주고 반복해 프로세스 CPU 누적치가 늘어나는지 본다.

pcp ps 2 5

 

pmlogger 아카이브에서 과거 프로세스 목록을 재생한다. (pcp 프런트엔드 -a 조합)

pcp -a /var/log/pcp/pmlogger/$(hostname)/*.0 ps

 

CPU 시간을 많이 쓴 프로세스만 골라낸다. (grep 조합)

pcp ps | grep -v '00:00:00'

 

특정 명령만 추적한다. (grep 조합)

pcp ps | grep -i pmcd

 

라이브 ps와 나란히 두고 값이 일치하는지 대조한다. (ps 조합)

pcp ps | head; echo '---'; ps -eo pid,time,comm | head
반응형