Questa domanda è vecchia, ma secondo me la risposta non è corretta. ps e top calcolano l'utilizzo della CPU utilizzando metodi diversi.
dall'uomo in alto:
- %CPU -- Utilizzo della CPULa quota dell'attività del tempo della CPU trascorso dall'ultimo aggiornamento dello schermo , espresso come percentuale del tempo totale della CPU.
da man ps:
L'utilizzo della CPU è attualmente espresso come percentuale di tempo trascorso in esecuzione durante l'intera durata di un processo .
Quindi, diciamo che hai un processo che è stato avviato una settimana fa e durante quel periodo ha utilizzato in media il 2,2% del tempo della CPU. Se improvvisamente diventasse intensivo per la CPU (consumando costantemente il 100%) - guardando ps osserveresti lo stesso 2,2% per le prime ore.
Il motivo più probabile è che top
mostra i valori percentuali come percentuale di un singolo CPU mentre ps
mostra la percentuale della potenza totale disponibile della CPU. Prova a correre in alto e premi Maiusc Io mentre è in esecuzione per mostrare la percentuale di tutti i core.
Se si tratta di un cluster di server con molte CPU, ciò che descrivi è un comportamento normale. Vedi anche qui.