GNU/Linux >> Linux Esercitazione >  >> Linux

Come registro l'utilizzo della CPU per processo?

Soluzione 1:

Potresti provare a fare qualcosa del genere:

while true; do ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10 >> logfile.txt; printf "\n" >> logfile.txt; sleep 3; done

questo ti mostrerebbe i primi dieci processi in termini di utilizzo della CPU. È possibile modificare il numero di processi visualizzati modificando il 10 in "head -10" con un numero diverso e la frequenza con cui si aggiorna modificando il 3 in "sleep 3" o eliminando completamente la parte "sleep 3".

Soluzione 2:

Dai un'occhiata in cima scriverà un registro binario di praticamente tutto ciò che potresti desiderare e quindi puoi utilizzare una gui superiore per passare attraverso le fasce orarie della giornata (l'impostazione predefinita è prendere i dati ogni 5 minuti). http://www.atcomputing.nl/Tools/atop/

Soluzione 3:

Penso che munin sia uno dei migliori strumenti di monitoraggio che ti aiuteranno a ottenere alcune informazioni sulle attività della tua scatola. Inoltre, ci sono alcuni strumenti da riga di comando come sar, iostat, ps, top per tale uso.

Soluzione 4:

Le altre risposte ti hanno solo mostrato come puoi vedere cosa sta succedendo attualmente, il che non aiuta se il sistema è stato riavviato.

Se vuoi che queste informazioni vengano registrate per i posteri (o per la fatturazione, o qualsiasi altro uso tu possa avere), quello che vuoi è la contabilità dei processi.

Ecco un HOWTO che ho trovato, ma sarò onesto:è passato un decennio dall'ultima volta che ho utilizzato la contabilità dei processi.

http://tldp.org/HOWTO/Process-Accounting/

Soluzione 5:

Un approccio più user-friendly alla soluzione di Shawn per il monitoraggio quasi in tempo reale:

while true; do clear; ps -eo pcpu,pmem,pid,user,args --sort=-pcpu c|head -20; sleep 1; done

Ciò fornirà una vista statica dei primi 20 processi che verranno aggiornati ogni 1 secondo. L'opzione "c" nel comando ps stamperà il nome dell'eseguibile del processo piuttosto che l'intero comando args. Puoi omettere questa opzione se invece hai bisogno di tutte le informazioni sul comando. Aggiunta anche la colonna %utilizzo memoria.


Linux
  1. Linux:come limitare un processo a un core della CPU in Linux??

  2. Recuperare l'utilizzo della CPU e l'utilizzo della memoria di un singolo processo su Linux?

  3. Come calcolare l'utilizzo della CPU di un processo tramite PID in Linux da C?

  4. Come ottenere l'utilizzo totale della CPU in Linux usando C++

  5. Limitazione dell'utilizzo della memoria/CPU del processo su Linux

Come limitare l'utilizzo della CPU di un processo in Linux

Come visualizzare l'utilizzo della CPU dalla riga di comando

Come ottenere l'utilizzo della CPU di un singolo processo in Linux

Come controllare l'utilizzo o l'utilizzo della CPU di Linux

Come ordinare l'output di ps in base all'ora di inizio del processo?

Linux - Come posso vedere quando è iniziato un processo?