O procs_running inclui o processo que emite solicitações?

0

Existe um valor procs_running em /proc/stat no Linux, que mostra o número de processos (threads) em execução.

A pergunta é: esse valor inclui o processo atual que está consultando o procfs ou não?

Em um sistema absolutamente inativo, devemos esperar que o valor seja 0 ou 1?

    
por Peter Zaitsev 27.11.2016 / 23:36

2 respostas

1

Does procs_running field in /proc/stat include the current process which is querying procfs?

Sim, é verdade. O /proc/stat pseudofile é gerado em fs/proc/stat.c no kernel do Linux, chamando nr_running() .

A função nr_running() está definida em kernel/sched/core.c , que simplesmente soma todos os contadores de processo por cpu. O processo atual não é tratado de forma especial aqui, por isso está incluído na contagem.

On the absolutely idle system should we expect value to be 0 or 1 ?

Como um processo deve estar lendo o pseudo-arquivo para o kernel gerar o conteúdo, e tal processo é sempre contado pela função nr_running() kernel, devemos sempre esperar que seja pelo menos 1.

    
por 27.11.2016 / 23:47
0

Com um pequeno teste, parece que isso INCLUI o processo que faz o pedido. Como tal, talvez o vmstat subtraia 1 do número de processos ativos para mostrar a carga real do sistema

    
por 27.11.2016 / 23:47

Tags