[Guida] Script Bash per verificare i processi ad elevato consumo su Linux
In questa guida verranno illustrati i passaggi per utilizzare due script utili ad identificare per quanto tempo i processi con consumo elevato di CPU e RAM restano in esecuzione sulla propria distribuzione GNU/Linux. Inoltre, gli script mostreranno l’ID del processo, il proprietario, il nome e la durata.
Script Bash: processi attivi e consumo elevato della CPU su Linux
Per identificare quali sono i processi con consumo elevato si ricorre al comando ps all’interno dello script. Questo script aiuta ad identificare da quanto tempo i processi ad alto consumo di CPU sono in esecuzione su Linux. Per procedere è necessario creare un file vuoto nella cartella “/opt/scripts” rinominandolo “long-running-cpu-proc.sh”.
Si consiglia di aprire il proprio gestore dei file con sudo (da terminale) procedendo con la creazione della cartella e del file vuoto. Copiare e incollare nel file vuoto il contenuto qui riportato e salvare.
# vi /opt/scripts/long-running-cpu-proc.sh #!/bin/bash ps -eo pid,user,ppid,%mem,%cpu,cmd --sort=-%cpu | head | tail -n +2 | awk '{print $1}' > /tmp/long-running-processes.txt echo "--------------------------------------------------" echo "UName PID CMD Process_Running_Time" echo "--------------------------------------------------" for userid in `cat /tmp/long-running-processes.txt` do username=$(ps -u -p $userid | tail -1 | awk '{print $1}') pruntime=$(ps -p $userid -o etime | tail -1) ocmd=$(ps -p $userid | tail -1 | awk '{print $4}') echo "$username $userid $ocmd $pruntime" done | column -t echo "--------------------------------------------------"
Autorizzare il file come eseguibile con il seguente comando:
# chmod +x /opt/scripts/long-running-cpu-proc.sh
Infine, digitare nel terminale il comando:
sh /opt/scripts/long-running-cpu-proc.sh
Verrà riportato un output con i processi attivi e da quanto tempo sono in esecuzione.
Script bash: processi attivi e consumo elevato della RAM
Nel caso della RAM il procedimento è il medesimo, l’unica differenza sta nel contenuto del file.
# sh /opt/scripts/long-running-memory-proc.sh #!/bin/bash ps -eo pid,user,ppid,%mem,%cpu,cmd --sort=-%mem | head | tail -n +2 | awk '{print $1}' > /tmp/long-running-processes-1.txt echo "--------------------------------------------------" echo "UName PID CMD Process_Running_Time" echo "--------------------------------------------------" for userid in `cat /tmp/long-running-processes-1.txt` do username=$(ps -u -p $userid | tail -1 | awk '{print $1}') pruntime=$(ps -p $userid -o etime | tail -1) ocmd=$(ps -p $userid | tail -1 | awk '{print $4}') echo "$username $userid $ocmd $pruntime" done | column -t echo "--------------------------------------------------"
Una volta generato il file è sufficiente ripetere la stessa procedura. L’output, in questo caso, mostrerà i processi che stanno richiedendo un uso elevato di memoria RAM.
Questo metodo dovrebbe funzionare correttamente su qualsiasi distribuzione GNU/Linux. Il risultato sarà simile al seguente:
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.
Fonte: https://www.lffl.org/2020/03/guida-script-bash-tempo-esecuzione-processi-linux.html
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.





