Eu tento medir a utilização da CPU por processo. Há muitas respostas para outras perguntas que sugerem usar o topo para isso. Minha melhor chamada é assim:
top -b -n 2 -d <delay> -p <pid> | tail -1 | awk '{print $7}'
Minha pergunta agora é como escolher o atraso. Aparentemente, os valores de% de CPU que recebo são altamente dependentes do atraso que eu escolho. Quando escolho -d 1
(1 segundo) eu só recebo xx.0%, às vezes xx.9%. Quando escolho -d 2
, recebo apenas xx.0% ou xx.5%. Com d=1.5
eu sempre recebo xx.0%, xx.3% ou xx.7% (provavelmente, esses são thrids?). Quando eu uso d=1.7
, recebo quase todos os dígitos decimais.
Por que isso acontece?