Troubleshooting CPU

From Linux Wiki
Revision as of 19:09, 20 October 2026 by Wikiadmin (talk | contribs)
Jump to navigation Jump to search

CPU la 100% cauzat de un proces legitim

Este cea mai comună situație. Un server web (Nginx/Apache), un proces Java (Tomcat/Elasticsearch) sau un script PHP/Python buclează la infinit și consumă tot procesorul.

Identificare

# ps aux --sort=-%cpu | head -n 11

Remediere

# kill -15 <PID> # Graceful kill # kill -9 <PID> # Hard kill

Dacă procesul este important dar vrei să nu mai sufoce serverul, îi scazi prioritatea (crești valoarea nice de la 0 la 19): # renice -n 15 -p <PID>

Load Average foarte mare, dar utilizarea CPU mică

Vezi un "Load Average" de 20 sau 50, dar în top/htop procesorul pare că stă degeaba (stare "wa" sau "iowait"). CPU nu lucrează, ci așteaptă după un disc lent, o conexiune de rețea (NFS/CIFS storage) sau un drive blocat.

Identificare

# ps -eo pid,ppid,state,cmd | grep " D " # vezi procesele blocate în "Uninterruptible Sleep" # mpstat 1 5 # urmărește coloana %iowait # iotop -o # verifică ce proces generează "I/O block"

Remediere

# umount -f -l /path/to/mount # umount NFS/CIFS blocat

CPU sufocat de întreruperi de rețea

Apare de obicei pe mașini virtuale cu trafic de rețea foarte intens (DB, HAProxy) unde CPU este încărcat cu procesearea pachetele de reţea.

Identificare

# watch -d -n 1 "cat /proc/interrupts" # arată care core/thread este încărcat de placa de reţea

Remediere

# systemctl enable --now irqbalance # Activarea irqbalance # ethtool -G ens18 rx 4096 tx 4096 # Optimizare la nivel de NIC Pentru a putea activa și porni serviciul irqbalance, pachetul trebuie mai întâi instalat. # apt update && sudo apt install -y irqbalance # dnf install -y irqbalance