Diferença entre a saída de ps e a saída superior?

3

Acho difícil entender a saída produzida por ps e top?

Esta é a saída por cima:

PID    PSID USERNAME  TID  PRI NICE  SIZE  RES  STATE  TIME    CPU   COMMAND
26439 23712 soumyau  26439  15    0 7512M 5234M sleep 286:25  16.67% or_lse2 (18)
26523 23712 soumyau  26439  -2    0 7512M 5234M cpu9  143:10   8.33% or_lse2
26522 23712 soumyau  26439  -2    0 7512M 5234M cpu3  143:10   8.33% or_lse2

Isso é por ps ( ps -L -p 26439 -o pcpu,psr,pid,user,tid ):

%CPU  PSR   PID   USER       TID
99.9   3   26439 soumyau    26522
99.9   9   26439 soumyau    26523
0.0    8   26439 soumyau    26439

Por que existem diferenças nos dois resultados?

Você pode explicar brevemente o significado das duas CPU%?

    
por Soumya Prasad Ukil 20.07.2012 / 10:04

3 respostas

5

ps é baseado no uso de CPU acumulado (desde o início do processo), em que a% de CPU é uma média (total / hora).

top informa a utilização da CPU (média) desde a última vez que foi amostrada.

Para referência, veja este trecho de man ps

CPU usage is currently expressed as the percentage of time spent running during the entire lifetime of a process. This is not ideal, and it does not conform to the standards that ps otherwise conforms to. CPU usage is unlikely to add up to exactly 100%.

e de man top

The task's share of the elapsed CPU time since the last screen update, expressed as a percentage of total CPU time. In a true SMP environment, if 'Irix mode' is Off, top will operate in 'Solaris mode' where a task's cpu usage will be divided by the total number of CPUs. You toggle 'Irix/Solaris' modes with the 'I' interactive command.

    
por 12.09.2012 / 09:57
0

comando 'ps' mostrando todo o processo por horário. que está tendo todo o processo. Não se importa com o estado do processo (correndo ou dormindo).

comando 'top' mostrando o processo em execução na ordem superior. É por isso que você pode ver a variação na saída. Parte do processo na primeira linha, após algum tempo, ficará em segundo ou terceiro de suas dependências no status do processo.

    
por 20.07.2012 / 11:09
0

A diferença é apenas se é dividida pelo número de núcleos ou não.

basicamente ps mostra a saída NÃO dividida pelo número de núcleos em vez de topo que pode operar em dois modos
pressione:

[SHIFT]+[I]
para alternar para / do modo Irix
e / ou você verá os mesmos números como em ps
por 04.01.2015 / 21:30

Tags