/proc/loadavg
파일을 읽어보면 다음과 같은 내용물이 출력된다.
$ cat /proc/loadavg
0.15 0.10 0.09 1/727 30761
각 다섯 개의 필드의 의미는 proc
의 매뉴얼 페이지에서 설명을 찾을 수 있다.
$ man proc
앞의 세 값은 1분, 5분, 15분 동안의 load average 값. 네 번째는 CPU가 현재 수행하고 있는 스레드 수와 커널 스케줄러 목록에 있는 총 스레드 수를 슬래시로 구분한 값. 마지막으로 다섯 번째는 가장 최근에 실행한 프로세스 아이디.
근데 가만히 보니 프로세스 수가 727라니, 생각보다 많은 편이다. 경험상 일반적으로 그렇게 많이 돌아가고 있지는 않을텐데… 하여 다른 방법으로 프로세스 수를 카운트 해보았다.
$ ps ax | wc -l
300
727보다는 훨씬 작다. 그러고보니 loadavg
파일은 thread 수를 카운트하므로 하나의 프로세스가 멀티스레딩으로 돌아가면 프로세스 개수보다 더 많이 카운트되는 듯 하다. 보통 사람들이 개념적으로 이해하는 프로세스 수는 ps ax | wc -l
로 카운팅하는게 맞을 것이다.
0개의 댓글