Processi e performance
Chi consuma cosa: CPU, RAM, load average, I/O wait e i kill fatti bene. Ogni comando è verificato e copiabile; in chat basta descrivere cosa vuoi fare.
11 comandi in questa pagina
- Come trovo un processo per nome?
- Come monitoro i processi in tempo reale?
- Quale processo sta mangiando la CPU?
- Quale processo si sta mangiando la RAM?
- Come termino un processo (con grazia e senza)?
- Come abbasso la priorità di un processo pesante?
- Come si legge il load average?
- Il server è lento con iowait alto: come indago?
- free dice poca RAM libera ma è tutta cache: devo preoccuparmi?
- Come riavvio o spengo un server in modo pulito?
- Cos'è una fork bomb (e come ci si protegge)?
# Come trovo un processo per nome?
pgrep -a nginx # PID + riga di comando
ps aux | grep [n]ginx
Il trucco [n]ginx esclude il grep stesso dai risultati.
Approfondisci: Come si gestiscono i servizi Linux con systemctl?
# Come monitoro i processi in tempo reale?
htop # o btop, se installato
In htop: F6 ordina per colonna, F5 vista ad albero, F9 kill – e la barra della RAM distingue cache e usata.
Approfondisci: Il sito è lento: come si diagnostica (davvero)?
# Quale processo sta mangiando la CPU?
ps aux --sort=-%cpu | head -10
Una foto secca, script-friendly; per la dinamica nel tempo resta htop.
Approfondisci: Il sito è lento: come si diagnostica (davvero)?
# Quale processo si sta mangiando la RAM?
ps aux --sort=-%rss | head -10
Guarda RSS (memoria reale), non VSZ (virtuale, bugiarda); il colpevole seriale sul lungo periodo è chi CRESCE.
Approfondisci: Il sito è lento: come si diagnostica (davvero)?
# Come termino un processo (con grazia e senza)?
kill <pid> # SIGTERM: chiusura pulita
kill -9 <pid> # SIGKILL: ultima spiaggia
pkill -f 'python.*server'
Prima TERM, poi KILL: il -9 non lascia salvare né pulire. Un processo che ignora anche il -9 è in stato D: guarda l'I/O.
Approfondisci: Come si gestiscono i servizi Linux con systemctl?
# Come abbasso la priorità di un processo pesante?
nice -n 19 tar czf backup.tgz /dati # parte già umile
renice 19 -p <pid> # a processo avviato
ionice -c3 -p <pid> # umile anche sull'I/O
Per i backup notturni la coppia nice+ionice evita che il server "rallenti misteriosamente" alle 3.
Approfondisci: I/O delay alto su Proxmox: da dove viene?
# Come si legge il load average?
uptime
nproc # i tuoi core: il metro di paragone
I tre numeri sono medie a 1/5/15 min di processi in attesa: load 4 su 4 core = pieno, su 16 = tranquillo. Load alto con CPU bassa = attesa di I/O.
Approfondisci: Il sito è lento: come si diagnostica (davvero)?I/O delay alto su Proxmox: da dove viene?
# Il server è lento con iowait alto: come indago?
iostat -x 2 # %util e await per disco
iotop -o # chi sta leggendo/scrivendo ORA
%util vicino a 100 con await alto = disco saturo: trova il processo con iotop prima di incolpare l'hardware.
Approfondisci: I/O delay alto su Proxmox: da dove viene?Il sito è lento: come si diagnostica (davvero)?
# free dice poca RAM libera ma è tutta cache: devo preoccuparmi?
free -h
Guarda available, non free: la cache è RAM ben spesa che il kernel molla all'istante. Il problema esiste solo se available è basso e la swap cresce.
Approfondisci: Il sito è lento: come si diagnostica (davvero)?
# Come riavvio o spengo un server in modo pulito?
shutdown -r now # riavvio
shutdown -h +5 'Manutenzione tra 5 minuti' # avvisa gli utenti loggati
Prima di un riavvio remoto: systemctl list-units --failed e conferma di poter raggiungere la console se non torna su.
Approfondisci: Come si gestiscono i servizi Linux con systemctl?Come si fa l'hardening di un server Linux appena installato?
# Cos'è una fork bomb (e come ci si protegge)?
# la famigerata :(){ :|:& };: definisce una funzione che lancia
# due copie di se stessa all'infinito: esaurisce i PID in secondi.
# Protezione: limiti per utente in /etc/security/limits.conf
mario hard nproc 4096
Su un sistema senza limiti la shell si blocca e spesso serve il riavvio. systemd mitiga già i servizi (TasksMax); il limite nproc protegge dalle sessioni utente.
Approfondisci: Utenti, gruppi e sudo su Linux: le basi che servonoCome si fa l'hardening di un server Linux appena installato?Come si gestiscono i servizi Linux con systemctl?