Como os processos de suspensão em “top” podem estar usando uma porcentagem da CPU?

2

Quando corremos, ocasionalmente vemos um processo "S" adormecido, que está usando% CPU; Espero que todos os processos de suspensão usem 0% da CPU, uma vez que não estão ativos. Eu esperaria que somente processos em execução, "R", consumissem ativamente% de CPU na parte superior. Por exemplo, veja esses processos do Oracle em suspensão

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM     TIME+ COMMAND                               
11975 oracle    15   0 16.8g 2.6g 2.6g S  8.9  5.5  56:28.38 oracle                       
 5837 oracle    15   0 16.8g 1.8g 1.7g S  6.6  3.7  10:04.11 oracle                       
12248 oracle    15   0 16.8g 1.6g 1.6g S  5.9  3.4  12:02.33 oracle                       
21253 oracle    15   0 16.8g 1.6g 1.6g S  4.3  3.4  12:33.83 oracle  

Meu pensamento é que a atividade da CPU, nesse caso para a Oracle, consiste em muitos picos curtos abaixo da granularidade de tempo de 1 para Top. O que significa que o contador de uso é atualizado, mas Top não vê o estado "R", pois é muito curto.

Alguma opinião?

    
por Fred Clausen 18.04.2013 / 11:57

1 resposta

4

Isso é quase certamente o que está acontecendo. Nesse caso, para o Oracle, o uso da CPU consiste em muitos picos curtos abaixo da granularidade de tempo de 1 s para o Top. O que significa que o contador de uso é atualizado, mas Top não vê o estado "R", pois é muito curto.

    
por 18.04.2013 / 12:00