Aflați cât de mult un proces individual sau la nivelul întregului sistem consumă CPU sau memorie.
Ca administrator de sistem, de multe ori trebuie să faceți față unui incident în care aplicația este lentă sau nu răspunde din cauza utilizării ridicate a CPU/memoriei/rețelei. Dacă serverul găzduiește un singur proces, atunci este ușor să aflați când procesul consumă toate resursele. Cu toate acestea, imaginați-vă un server partajat în care rulează mai multe servicii și trebuie să găsiți care dintre ele consumă toate resursele.
Există multe software-uri de monitorizare care fac acest lucru imediat. Dar dacă nu aveți una sau căutați o soluție bazată pe comenzi, atunci iată. Toate sunt GRATUITE!
Cuprins
top
Poate doriți să începeți prin a căuta rezultatele de sus sau de top pentru a vedea prezentarea generală a proceselor.
După cum puteți vedea mai jos, oferă o idee excelentă despre ce folosesc toate procesele. Dacă te uiți la primul, care este MySQL, ia 11,9% din CPU și 2,5% din CPU.
top - 11:57:33 up 0 min, 1 user, load average: 3.69, 0.96, 0.32 Tasks: 165 total, 2 running, 113 sleeping, 0 stopped, 0 zombie %Cpu(s): 21.0 us, 5.5 sy, 0.0 ni, 70.5 id, 1.7 wa, 0.0 hi, 1.3 si, 0.0 st KiB Mem : 7637308 total, 5802888 free, 849512 used, 984908 buff/cache KiB Swap: 0 total, 0 free, 0 used. 6495648 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1986 netdata 20 0 1738856 191560 22948 S 11.6 2.5 0:02.30 mysqld 3021 www-data 20 0 255288 78420 55484 S 6.6 1.0 0:01.55 php-fpm 3138 www-data 20 0 253096 79780 59228 S 6.6 1.0 0:00.92 php-fpm 3153 www-data 20 0 255116 79088 56472 S 5.0 1.0 0:00.70 php-fpm 3037 www-data 20 0 257200 81088 56216 S 4.3 1.1 0:01.50 php-fpm 3048 www-data 20 0 257088 78740 55380 S 4.3 1.0 0:01.46 php-fpm 3054 www-data 20 0 254160 72168 52108 S 3.7 0.9 0:01.32 php-fpm 3135 www-data 20 0 255084 75912 54836 S 3.7 1.0 0:00.91 php-fpm 3051 www-data 20 0 254096 73804 51964 S 3.0 1.0 0:01.38 php-fpm 2962 www-data 20 0 45280 7284 3488 R 2.0 0.1 0:00.22 openresty 1062 netdata 20 0 338748 76144 6720 S 1.0 1.0 0:01.31 netdata 1702 netdata 20 0 21852 4232 2352 S 1.0 0.1 0:00.34 apps.plugin 1729 netdata 20 0 18636 3280 2764 S 0.7 0.0 0:00.05 bash 1980 netdata 20 0 62008 12896 5796 S 0.7 0.2 0:00.14 redis-server 11 root 20 0 0 0 0 I 0.3 0.0 0:00.14 rcu_sched 1007 root 20 0 1347424 74524 38872 S 0.3 1.0 0:00.92 dockerd 1857 root 20 0 10600 5564 4276 S 0.3 0.1 0:00.03 containerd-shim 2045 root 20 0 9948 6028 5016 S 0.3 0.1 0:00.14 forego 2934 root 20 0 13616 8760 5928 S 0.3 0.1 0:00.07 docker-gen 2966 systemd+ 20 0 25784 7924 2340 S 0.3 0.1 0:00.06 nginx
Partea de sus este instalată pe aproape toate distribuțiile Linux.
Odată ce identificați suspectul, este posibil să doriți să vă concentrați asupra procesului respectiv în loc de tot ceea ce ați văzut mai sus. Puteți folosi în continuare comanda de sus, dar cu unele argumente.
Să presupunem că știți ID-ul procesului (PID); puteți folosi comanda de mai jos.
sus -p $PID
Mai jos un exemplu de top -p 3102
top - 11:59:56 up 3 min, 1 user, load average: 0.72, 0.70, 0.31 Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie %Cpu(s): 7.1 us, 2.9 sy, 0.0 ni, 89.1 id, 0.3 wa, 0.0 hi, 0.7 si, 0.0 st KiB Mem : 7637308 total, 5802024 free, 783672 used, 1051612 buff/cache KiB Swap: 0 total, 0 free, 0 used. 6555636 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3102 www-data 20 0 329500 82376 60640 S 0.0 1.1 0:03.35 php-fpm
Puteți folosi și grep cu top. Mai jos un exemplu de verificare a utilizării Docker.
[email protected]:~# top | grep docker 1007 root 20 0 1347424 74524 38872 S 0.3 1.0 0:01.38 dockerd 2934 root 20 0 14676 9652 5928 S 0.3 0.1 0:00.54 docker-gen 1007 root 20 0 1347424 74524 38872 S 0.3 1.0 0:01.39 dockerd 1007 root 20 0 1347424 74524 38872 S 1.0 1.0 0:01.42 dockerd 2934 root 20 0 14740 9652 5928 S 0.3 0.1 0:00.55 docker-gen 2934 root 20 0 14740 9652 5928 S 0.3 0.1 0:00.56 docker-gen
htop
Similar cu partea de sus, dar cu mai multe informații. După cum puteți, a primit coloana de comandă, care este la îndemână pentru a identifica calea procesului. Și, de asemenea, este colorat.
Este posibil ca htop să nu fie instalat în mod implicit, dar o puteți face oricând ca mai jos.
Instalați htop pe Ubuntu
apt-get install htop
Instalați htop pe CentOS/RHEL 8.x
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf update dnf install htop
priviri
După cum spune și numele, obțineți o vizualizare a utilizării sistemului pe un singur ecran. Procesele care rulează sunt sortate în funcție de utilizarea CPU.
Puteți instala Glances pe CentOS 8 folosind DNF ca mai jos.
dnf install glances
pentru CentOS7, puteți folosi YUM
yum install glances
deasupra
Un similar cu cel de mai sus, dar cu o caracteristică genială pentru a înregistra rezultatul într-un fișier, astfel încât să le puteți vizualiza mai târziu. Imaginați-vă că există un model de a avea o problemă într-o anumită fereastră de timp. Puteți programa să scrieți ieșirea într-un fișier prin crontab sau altul, iar ulterior puteți reda.
Pentru a înregistra rezultatul într-un fișier:
atop -w filename
și, pentru redare:
atop -r filename
Acceptă mai multe argumente, cum ar fi interval, mostre etc. și aș recomanda cu tărie să aruncați o privire la pagina de manual.
Dacă sunteți interesat doar de depanarea în timp real, atunci executați doar deasupra și ar trebui să vedeți ca mai jos.
Puteți instala deasupra ca mai jos.
dnf install atop
ps
Să verificăm comanda ps acum.
Puteți utiliza comanda ps cu PID pentru a imprima CPU și utilizarea memoriei.
ps -p $PID -o %cpu,%mem
Ieșirea ar trebui să arate așa.
[email protected]:~# ps -p 1048 -o %cpu,%mem %CPU %MEM 0.2 3.0 [email protected]:~#
nmon
Instrument interactiv de monitorizare din linia de comandă pentru CPU, memorie, discuri, rețea, NFS și utilizarea memoriei virtuale. Pentru a vizualiza procesul de top (prin utilizare), puteți executa nmon și apăsați butonul t.
Puteți instala nmon ca mai jos.
dnf install nmon
Monit
Monit este o soluție open-source bazată pe web și în linie de comandă pentru a monitoriza resursele serverului, demonii, fișierele, directoarele, sistemele de fișiere etc.
Monit a primit și un widget grozav.
Software-ul său de monitorizare ușor. Dar, sunt mai multe de explorat aici.
Monitorix
Un utilitar open-source ușor pentru a monitoriza serverul Linux. Monitorix a primit HTTP încorporat, astfel încât să puteți verifica utilizarea și alte lucruri pe web. Unele dintre celelalte rapoarte de utilizare includ:
- Kernal/temperatura
- Sistem de fișiere și I/O
- Trafic de rețea
- Apache/Mail/FTP/Nginx
- MySQL/Varnish/Memcached
Monitorix oferă, de asemenea, configurație de alertă, astfel încât să puteți primi notificări atunci când lucrurile nu sunt în regulă. Va fi o alegere bună atunci când gestionați servere bazate pe cloud și căutați o soluție de monitorizare proactivă.
Netdata
Netdata este o monitorizare în timp real a performanței pentru resurse de sistem, aplicații, servere web, baze de date, DNS, e-mail, senzori hardware și multe altele. Este open-source și este ușor să începeți. Toate datele sunt colectate, stocate și transmise în flux pentru a le vizualiza interactiv. Datele sunt colectate în fiecare secundă, astfel încât să nu ratați niciodată nimic.
Iubit de mulți lideri din industrie.
Deci, ceea ce așteptați, încercați să preluați controlul asupra serverelor dvs. Linux.
btop
btop este un monitor de resurse la îndemână complet interactiv, cu o interfață de utilizare frumoasă, care vă ajută să gestionați serverele Linux.
Puteți vizualiza cu ușurință procesele într-o vizualizare arborescentă, puteți filtra din lista de procese și puteți gestiona porcii de resurse. btop vine, de asemenea, alimentat cu un grafic de scalare automată care arată utilizarea rețelei.
În plus, puteți verifica și viteza discului și puteți finaliza activitatea I/O.
Există mai multe lucruri pe care le puteți experimenta pe Linux, FreeBSD și macOS.
Concluzie
Sper că instrumentele de mai sus vă ajută să vizualizați utilizarea serverului în timp real, astfel încât să puteți lua măsurile necesare. Dacă tocmai ați început ca administrator de sistem și doriți să obțineți o instruire practică, atunci verificați acest lucru curs Udemy.