본문 바로가기
리눅스

[리눅스] 프로세스의 CPU, 메모리 확인

by hs_seo 2020. 6. 11.

프로세스의 CPU, 메모리 사용 정보를 확인하는 방법은 ps, top 명령을 이용하는 것입니다. 프로세스의 메모리를 확인할 때는 프로세스의 PID를 알고 있어야 합니다.

PS

ps 명령의 -o, -p 옵션을 이용합니다.

# 18299 프로세스의 정보를 확인 
# pid: 프로세스 ID
# pcpu: CPU 사용률
# pmem: 메모리 사용률
# rss: 물리 메모리 사용량 
# vsz: 가상 메모리 사용량
# cmd: 커맨드
$ ps -o pid,pcpu,pmem,rss,vsz,cmd -p 18299
  PID %CPU %MEM   RSS    VSZ CMD
18299  0.0  3.7 599432 3023072 /usr/lib/jvm/java

18299 프로세스의 정보를 확인해 보면 현재 3.7%의 CPU 점유율을 가지고 있고, 물리 메모리는 599432 KB, 가상 메모리는 3023072 KB를 사용중입니다.

top

top 명령의 -p 옵션을 이용해도 동일한 정보를 확인할 수 있습니다.

$ top -p 18299

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                               
18299 hive      20   0 2952m 585m  51m S  0.0  3.8 254:13.21 java     

18299 프로세스의 정보를 확인해 보면 가상 메모리(VIRT)는 2952MB를 사용중이고 물리 메모리(RES)는 585MB, 공유 메모리(SHR)는 51MB를 사용하고 있습니다. 현재 CPU의 상태(S)는 대기(Sleep)상태이고, CPU 사용률(%CPU)는 0입니다. 메모리 사용률(%MEM)는 3.8%입니다.

cat /proc/[pid]/status

/proc/아래에 현재 실행중인 프로세스의 ID로 디렉토리가 생성되고 그 아래 프로세스의 정보가 저장됩니다. /proc/[pid]/status에 현재 실행 중인 프로세스의 모든 정보가 저장됩니다.

$ cat /proc/18299/status
Name:    java
Umask:    0022
State:    S (sleeping)
Tgid:    18299
...
반응형