/proc/stat
Linux에는 실행 중인 프로세스(스레드) 수를 표시하는 procs_running 값이 있습니다 .
문제는 이 값에 현재 procfs를 쿼리하는 프로세스가 포함되어 있는지입니다.
완전히 유휴 상태인 시스템에서 이 값이 0 또는 1이 되어야 합니까?
답변1
procs_running
의 필드에/proc/stat
procfs를 쿼리하는 현재 프로세스가 포함되어 있습니까?
네, 그렇습니다. 더미 /proc/stat
파일은 다음에 생성됩니다.fs/proc/stat.c
Linux 커널에서는 nr_running()
.
이 nr_running()
함수는 다음에서 정의됩니다.kernel/sched/core.c
, 이는 단순히 모든 CPU별 프로세스 카운터를 합산하는 것입니다. 여기서는 현재 프로세스가 특별한 방식으로 처리되지 않으므로 카운트에 포함됩니다.
완전히 유휴 상태인 시스템에서 값이 0 또는 1이 되어야 합니까?
프로세스 이후~ 해야 하다커널 생성 콘텐츠에 대해 더미 파일을 읽고 이러한 프로세스는 항상 nr_running()
커널 함수에 의해 계산되며, 이는 항상 최소 1이 되어야 합니다.
답변2
몇 가지 테스트를 마친 후에는 요청된 프로세스를 실행하는 것과 관련된 것으로 보입니다. 따라서 vmstat는 실제 시스템 로드를 표시하기 위해 활성 프로세스 수에서 1을 뺄 수 있습니다.