Come trovare i processi che consumano più risorse dal terminale Linux

Linux fornisce diversi potenti strumenti per monitorare le prestazioni del sistema, in particolare l’utilizzo di memoria e CPU. A volte dobbiamo identificare i processi che consumano molta memoria e CPU per risolvere i problemi di prestazioni. Puoi usare utilità di sistema preinstallate come ps, comandi top o strumenti esterni come htop, vmstats ecc. Ogni strumento ha diversi vantaggi.

1. Utilizzo del comando ps

Il comando “ps” è uno degli strumenti più versatili per visualizzare informazioni sui processi in esecuzione. Puoi facilmente filtrare i campi di output e ordinarli in base a criteri specifici.

In base all’utilizzo della memoria: per elencare i primi 10 processi in base all’utilizzo della memoria, è possibile utilizzare il seguente comando:

ps -eo pid,cmd,%mem,%cpu --sort=-%mem | head

Questo output mostra i processi ordinati in base all’utilizzo della memoria insieme al loro PID, comando e utilizzo della CPU.

In base all’utilizzo della CPU: per elencare i primi 10 processi in base all’utilizzo della CPU, eseguire:

ps -eo pid,cmd,%mem,%cpu --sort=-%cpu | head

Questo output mostra i processi ordinati in base all’utilizzo della CPU insieme al loro PID, comando e utilizzo della memoria.

2. Utilizzo del comando top

Il comando top è un’utilità interattiva che visualizza informazioni in tempo reale sulle prestazioni del sistema, compresi i processi che consumano più CPU e memoria.

Esegui il comando:

top
  • Premi M: ordina i processi in base all’utilizzo della memoria.
  • Premi P: ordina i processi in base all’utilizzo della CPU.

Personalizzazione dell’output:

Per elencare un numero specifico di processi e uscire dopo aver visualizzato l’output:

top -b -n 1 | head -n 17
  • -b: Modalità batch per la creazione di script.
  • -n 1: Aggiorna una volta ed esce.

3. Combinazione di ps con altri comandi

È possibile utilizzarlo psin combinazione con altre utilità come awkgrepper filtrare i processi in base a criteri specifici.

Utilizzare il seguente comando per trovare tutti i processi che consumano più di una certa percentuale di memoria:

ps -eo pid,cmd,%mem,%cpu --sort=-%mem | awk '$4 > 5.0'

Questo comando elenca i processi che utilizzano più del 5% di memoria. Allo stesso modo, puoi ordinare l’output in base all’utilizzo della CPU.

4. Automazione del monitoraggio dei processi

Per automatizzare il monitoraggio, è possibile pianificare i comandi tramite cron e registrare i risultati per un’analisi successiva.

Esempio di Cron Job:

*/5 * * * * ps -eo pid,cmd,%mem,%cpu --sort=-%mem | head >> /var/log/process_monitor.log

In questo modo vengono registrati ogni 5 minuti i processi che consumano più memoria.

Conclusione

Questo è un compito essenziale per identificare tutti i processi che consumano più memoria e CPU per gestire le prestazioni del sistema. In questo articolo hai imparato a conoscere comandi come ps e top, che rendono questo compito facile ed efficiente. Monitorando regolarmente queste metriche, puoi assicurarti che il tuo sistema Linux funzioni senza problemi e risolvere efficacemente i colli di bottiglia delle prestazioni.

Autore

Classe Novanta3, Fondatore di TrgtKLS. Appassionato in Sec IT & Tech. Expert per l'amministrazione web server e supporto in Back-&, ottimizzazione e manutenzione di esso. • Metà Free e Metà Freelancer • mail@trgtkls.org

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

close