Scenario: all'improvviso, il mio computer sembra lento. Il mouse si sposta ma le finestre impiegano molto tempo ad aprirsi, ecc. uptime
Indica che il carico è di 7,69 e aumenta.
Qual è il modo più veloce per scoprire quali processi sono la causa del carico?
Ora, "top" e strumenti simili non sono la risposta perché mostrano l'utilizzo della CPU o della memoria, ma non entrambi contemporaneamente. Ciò di cui ho bisogno è il singolo comando che potrei essere in grado di digitare mentre succede - qualcosa che riuscirà a capire
Il sistema sta provando a scambiare 8 GB di RAM su disco perché il processo X ...
o
il processo X cerca su tutto il disco
o
il processo X utilizza il 400% di CPU "
Quindi quello che sto cercando è iostat, htop / atop e strumenti simili si incontrano in uno con un output come questo:
1235 cp - Disk trashing
87 chrome - Uses 2 GB of RAM
137 nfs_bench - Uses 95% of the network bandwidth
Non voglio uno strumento che mi dia alcuni numeri che posso analizzare ma uno strumento che mi dice esattamente quale processo provoca il carico corrente. Supponiamo che l'utente davanti alla tastiera sappia a malapena scrivere "process", ma l'utente viene rapidamente sopraffatto quando si tratta di "dimensione residente", "memoria virtuale" o "ciclo di vita del processo".
Il mio argomento va così: un utente nota un problema. Ci possono essere migliaia di motivi ... beh, quasi :-) L'utente vuole conoscere l'origine del problema.
Le soluzioni attuali mi danno un sacco di numeri e devo sapere cosa significano questi numeri. Quello che sto cercando è un meta strumento. Il 99% dei dati è irrilevante per il problema. Quindi ciò che lo strumento dovrebbe fare è cercare processi che racchiudano alcune risorse ed elencare solo quelli insieme a "questo processo ha bisogno di molta CPU, questo produce molti IRQ, questo processo alloca molta RAM (ed è ancora in crescita)".
Questo sarà un elenco relativamente breve. Sarà molto più semplice per qualcuno di nuovo individuare questo colpevole da questo elenco piuttosto che dall'output di, diciamo, htop
che mi dà circa 5000 numeri ma mi richiede di piegare da solo i processi multi-thread (ho 50 righe che dicono VIRT 2750M
ma solo 16 GB di RAM: la macchina dovrebbe scambiarsi a morte ma, naturalmente, si tratta di un'errata interpretazione dei dati che possono accadere rapidamente).
top