리눅스 대기 프로세스 수 확인하는 방법 (vmstat, top)

리눅스에서 CPU 과부하가 의심될 때 처리 대기 프로세스를 확인할 수 있습니다. vmstat, top이 처리 대기 프로세스를 확인하는 데 사용됩니다.

처리 대기 스레드 확인하기

1. vmstat

[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1506916   1052 577676    0    0   206    13   87  125  1  1 98  0  0

vmstat 명령어를 실행하면 PC 리소스 상태에 대한 여러 값이 출력됩니다. 그중 r 컬럼의 값이 대기 프로세스(또는 스레드) 수입니다. 숫자가 높을수록 더 많은 스레드가 대기 중인 상태입니다. 위 예시의 결과는 1로 출력되긴 하지만, 반올림된 값이기 때문에 실제로는 0.xx일 확률이 높습니다.

 

vmstat 뒤에 옵션으로 숫자를 붙이면 숫자(초) 동안 지속적으로 값을 출력합니다. 예를 들어,

vmstat 3

처럼 쓰면 포그라운드로 실행되며 3초에 한 번씩 결과를 출력합니다.

 

2. top

또 하나 사용할 수 있는 명령어는 top입니다. top 명령어의 load average 값은 평균 대기 프로세스 수를 나타냅니다.

[root@localhost ~]# top
top - 23:28:33 up 26 min,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 233 total,   1 running, 232 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2895220 total,  1483588 free,   832844 used,   578788 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1877152 avail Mem

 

load average 값은 3개가 표시되는데, 각각 1분, 5분, 15분 동안의 평균 대기 프로세스 수를 의미합니다.

load average: 0.00, 0.01, 0.05
반응형

댓글

Designed by JB FACTORY