Por que um processo suspenso mostra alto uso da CPU em ps?

1

Às vezes, quando um processo é suspenso (no estado T), a saída de ps mostra o processo usando uma quantidade incomum de CPU%.

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
cossey    8697 26.9  0.0   8808   672 pts/3    T    09:25   0:22 gzip

Este é um bug em ps ?

    
por Ecolitan 11.10.2013 / 10:47

1 resposta

1

Em algumas versões de ps , a coluna %CPU mostra o uso médio da CPU durante toda a vida útil do processo. Outros implementam uma média de decaimento ( link ), mas mesmo assim você teria que esperar um tempo depois de suspender para a média cair para 0.

POSIX diz :

pcpu

The ratio of CPU time used recently to CPU time available in the same period, expressed as a percentage. The meaning of "recently" in this context is unspecified. The CPU time available is determined in an unspecified manner.

E a justificativa:

The pcpu field indicates that the CPU time available is determined in an unspecified manner. This is because it is difficult to express an algorithm that is useful across all possible machine architectures. Historical counterparts to this value have attempted to show percentage of use in the recent past, such as the preceding minute. Frequently, these values for all processes did not add up to 100%. Implementations are encouraged to provide data in this field to users that will help them identify processes currently affecting the performance of the system.

    
por 11.10.2013 / 14:05

Tags