Включает ли procs_running процесс, который выдает запросы?

В Linux есть значение procs_running в / proc / stat , которое показывает количество запущенных процессов (потоков) .

Вопрос в том, включает ли это значение текущий процесс, который запрашивает procfs, или нет?

В абсолютно незанятой системе следует ожидать, что значение будет 0 или 1?

0
28.11.2016, 01:03
2 ответа

После небольшого тестирования похоже, что это ВКЛЮЧАЕТ процесс, выполняющий запрос. Таким образом, возможно, vmstat вычитает 1 из числа активных процессов, чтобы показать реальную загрузку системы

0
28.01.2020, 02:47

Включает ли поле procs_running в / proc / stat текущий процесс, который запрашивает procfs?

Да, включает. Псевдофайл / proc / stat создается в fs / proc / stat.c в ядре Linux путем вызова nr_running () .

Функция nr_running () определена в kernel / sched / core.c , которая просто суммирует все счетчики процессов для каждого процессора. Текущий процесс здесь не обрабатывается каким-либо особым образом, поэтому он включается в подсчет.

Должны ли мы ожидать, что в абсолютно незанятой системе значение будет 0 или 1?

Поскольку процесс должен читать псевдофайл, чтобы ядро ​​сгенерировало содержимое, и такой процесс всегда подсчитывается функцией ядра nr_running () , мы всегда должны ожидать, что он будет не меньше 1.

1
28.01.2020, 02:47

Теги

Похожие вопросы