ps e top dão uso diferente da CPU

2

Eu vi alguns posts semelhantes a este, mais notavelmente aqui , mas não estava muito satisfeito com as respostas. Estou comparando os resultados de top e ps em um processo específico e vejo enormes discrepâncias no uso da CPU. top varia entre < 1% e 100% de intervalo para intervalo incluindo períodos de altas sustentadas (> 50% para intervalos de 3-4), enquanto ps é constante em 2,2%. O processo que estou assistindo não tem filhos nem nada, então não tenho certeza do que fazer com isso. Como há períodos altos sustentados em top , sinto que posso descartar o intervalo de amostragem.

Isso é realmente apenas uma discrepância em como essas duas ferramentas lidam com o tempo de espera de E / S, como sugerido pela pergunta a que me vinculei acima?

EDIT:
Eu vi isso flutuar para 2,1% em ps , mas é isso até agora. Saída de top -p 4522 :

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND  
4522 root      16   0  340m 316m 4732 R 54.7  1.3 508:57.46 maui

Saída de ps u -p 4522 :

 USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND  
root      4522  2.2  1.3 348764 324456 ?       Ss   Aug25 509:25 /usr/local/maui/sbin/maui
    
por TTT 10.09.2013 / 14:40

1 resposta

2

A razão mais provável é que top mostre os valores percentuais como uma porcentagem de uma única CPU enquanto ps mostra a porcentagem de energia disponível total da CPU. Tente rodar e pressionar Shift I enquanto ele estiver rodando para mostrar a porcentagem de todos os núcleos.

Se este for um cluster de servidores com muitas CPUs, o que você descreve é um comportamento normal. Veja também aqui .

    
por 11.09.2013 / 15:28

Tags