BLACKBOXCentru de ajutor

Diagnosticarea încărcării serverului (CPU, RAM, disc, rețea)

Comenzile de bază pentru a afla de ce serverul este lent sau nu răspunde și ce faceți în fiecare caz.

generalActualizat 2026-10-09~10 min de citit
Pe această pagină

Când serverul devine lent sau nu mai răspunde, cauza este de cele mai multe ori una dintre patru resurse epuizate: procesorul (CPU), memoria (RAM), discul sau rețeaua. Ghidul arată comenzile care găsesc resursa vinovată și ce faceți în fiecare caz. Comenzile se rulează pe server, prin SSH, ca root. Evoluția în timp o vedeți în panoul app.blackbox.md, pe pagina „Monitorizare” (app.blackbox.md/monitoring, meniul lateral → „Infrastructură” → „Monitorizare”).

Disponibil pentru: oricine are acces root prin SSH la un server BLACKBOX cu Ubuntu, Debian, AlmaLinux sau CentOS Stream. Graficele din panou: titularul serverului, pentru serverele cu serviciul suplimentar Monitoring activ.

Serverul este lent sau nu răspunde: pașii în ordine

  1. Conectați-vă prin SSH (Conectarea la server prin SSH (Windows, macOS, Linux)):

    ssh root@IP_SERVER
  2. Dacă vă conectați, chiar și greu, nu reporniți încă: repornirea șterge urmele problemei. Rulați comenzile din secțiunile de mai jos, începând cu „Privire rapidă”.

  3. Dacă SSH nu răspunde (conexiunea expiră sau sesiunea rămâne blocată): în panou deschideți „Serverele mele”, apăsați „Repornește” pe cardul serverului și confirmați „Reporniți {name}?”. Așteptați 30–60 de secunde și conectați-vă din nou. Dacă panoul afișează power_action_failed, serverul poate fi oprit: apăsați „Pornește”. Detalii: Repornirea, oprirea și pornirea serverului.

  4. Dacă serverul tot nu răspunde după câteva minute, scrieți suportului (Cum contactați suportul BLACKBOX). Indicați adresa IP a serverului, numărul comenzii (BBX-…) și data și ora la care a început problema. Pentru o urgență în orele de lucru sunați și la +373 78 003948 (luni–vineri, 09:00–18:00, ora Moldovei).

  5. După ce serverul răspunde din nou, aflați cauza: vedeți întrebarea „Serverul a căzut, iar după repornire merge. Cum aflu cauza?” de la final.

Dacă SSH răspunde cu Permission denied, serverul funcționează, iar problema este la autentificare: Nu mă pot conecta prin SSH.

Notă Clienții nu au consolă web sau VNC, iar panoul nu are buton de repornire forțată (hard reset). Dacă „Repornește” nu ajută, doar echipa BLACKBOX poate interveni.

Privire rapidă: procesor, memorie, procese

uptime: încărcarea medie

uptime
nproc
 10:42:01 up 12 days,  3:05,  1 user,  load average: 3.85, 2.10, 1.20
2

Cele trei numere de după load average sunt încărcarea medie pe ultimul minut, pe ultimele 5 și pe ultimele 15 minute. Comparați-le cu numărul de vCPU al serverului: îl afișează nproc și apare pe cardul serverului din „Serverele mele”, în rândul „Configurație” (de exemplu, „2 vCPU · 4 GB · 40 GB”).

Încărcarea medie Ce înseamnă
sub numărul de vCPU procesorul mai are rezervă
cât numărul de vCPU serverul lucrează la capacitate maximă
constant peste numărul de vCPU procesele stau la coadă: serverul este suprasolicitat

În exemplu, 3,85 la 2 vCPU înseamnă suprasolicitare, iar primul număr mult mai mare decât al treilea arată că încărcarea a crescut în ultimele minute. În Linux, încărcarea include și procesele care așteaptă discul: o încărcare mare cu procesorul aproape liber indică discul (coloana wa de mai jos).

top sau htop: ce proces consumă

top

top arată sus rândul %Cpu(s) (coloanele sunt explicate la vmstat) și memoria, iar dedesubt procesele, cele mai active primele. Tastele utile: P sortează după CPU, M după memorie, 1 afișează fiecare vCPU separat, q iese.

htop arată aceleași date, colorate și mai ușor de citit. Pe Ubuntu și Debian îl instalați așa:

apt update
apt install -y htop

Pe AlmaLinux și CentOS Stream pachetul vine din depozitul EPEL:

dnf install -y epel-release
dnf install -y htop

Lista proceselor, ordonată după CPU și după memorie, pe care o puteți copia într-un tichet:

ps aux --sort=-%cpu | head -n 15
ps aux --sort=-%mem | head -n 15

free -h: memoria

free -h
               total        used        free      shared  buff/cache   available
Mem:           3.8Gi       3.2Gi       118Mi        24Mi       512Mi       356Mi
Swap:             0B          0B          0B

Uitați-vă la coloana available, nu la free: Linux folosește memoria liberă drept cache (buff/cache) și o eliberează când o cer aplicațiile. Memoria este epuizată când available scade aproape de zero, iar swap-ul, dacă există, este plin. Swap: 0B înseamnă că serverul nu are swap.

vmstat 1 5: evoluția pe câteva secunde

vmstat 1 5

Comanda afișează 5 rânduri, la o secundă unul de altul. Primul rând este media de la pornirea serverului, așa că citiți rândurile următoare.

Coloană Ce arată Semn de problemă
r procese care așteaptă procesorul constant peste numărul de vCPU
b procese blocate, de obicei în așteptarea discului constant peste 0
si, so memorie citită din swap / scrisă în swap constant peste 0: memoria RAM nu ajunge
us, sy procentul de CPU folosit de aplicații / de sistem împreună aproape de 100
wa procentul de CPU care așteaptă discul valori mari: discul încetinește serverul
st timpul „furat” (steal): cât a așteptat procesorul virtual după serverul fizic constant mare: vedeți mai jos

Valoarea st există doar pe serverele virtuale, iar câteva procente din când în când sunt normale. Dacă st rămâne mare minute în șir, deși aplicațiile dvs. nu solicită mult procesorul, scrieți suportului și atașați ieșirea comenzii vmstat 1 5.

Discul: spațiu și viteză

df -h
df -i

df -h arată spațiul ocupat pe fiecare partiție: urmăriți coloana Use% pentru /. df -i arată inode-urile (numărul de fișiere): la IUse% de 100% nu se mai pot crea fișiere, chiar dacă mai este spațiu. Un disc plin oprește bazele de date și site-urile. Cum găsiți ce ocupă spațiul și cum îl eliberați: Discul serverului este plin.

Încărcarea discului o măsurați cu iostat din pachetul sysstat. Instalați-l pe Ubuntu și Debian:

apt update
apt install -y sysstat

Pe AlmaLinux și CentOS Stream:

dnf install -y sysstat

Apoi rulați:

iostat -x 1 3

Comanda afișează 3 rapoarte, la o secundă unul de altul; primul este media de la pornire. Pentru discul principal (de obicei vda sau sda) urmăriți:

Coloană Ce arată Semn de problemă
r/s, w/s citiri / scrieri pe secundă suma stă lângă limita discului
r_await, w_await durata medie a unei citiri / scrieri, în milisecunde zeci sau sute de milisecunde
%util cât din timp discul a fost ocupat constant aproape de 100

Procesul care citește sau scrie cel mai mult îl găsiți cu pidstat din același pachet (coloanele kB_rd/s și kB_wr/s):

pidstat -d 1 5

Pe pagina planurilor, familia Basic este descrisă cu disc de 300 IOPS, iar familiile Standard și CPU cu 3000 IOPS. Dacă r/s și w/s adunate stau lângă această valoare, viteza discului limitează serverul. Upgrade-ul din panou rămâne în aceeași familie de planuri; pentru alt tip de disc, scrieți-ne.

Rețeaua și serviciile

Ce programe ascultă pe porturi

ss -tulpn

Fiecare rând arată un port deschis și programul care îl ascultă, de exemplu 0.0.0.0:80 cu users:(("nginx",…)). 0.0.0.0 sau * înseamnă toate adresele, 127.0.0.1 doar serverul însuși. Dacă site-ul nu răspunde și lipsesc porturile 80 și 443, serverul web nu rulează. Ce porturi sunt accesibile din internet: Firewall: filtrarea din rețea și ufw/firewalld pe server.

Traficul și conexiunile

sar -n DEV 1 5
ss -s

sar (tot din sysstat) afișează în fiecare secundă traficul primit și trimis pe fiecare interfață, în coloanele rxkB/s și txkB/s. ss -s numără conexiunile deschise. Adresele cu cele mai multe conexiuni:

ss -tn state established | awk 'NR>1 {print $4}' | sed 's/:[0-9]*$//' | sort | uniq -c | sort -rn | head

Încercări de ghicire a parolei SSH

Pe Ubuntu și Debian:

journalctl -u ssh --since "1 hour ago" | grep -ciE "failed password|invalid user"

Pe AlmaLinux și CentOS Stream:

journalctl -u sshd --since "1 hour ago" | grep -ciE "failed password|invalid user"

Rezultatul este numărul de încercări eșuate din ultima oră. Sute sau mii înseamnă că roboți încearcă parole pe server. Instalați o cheie SSH, apoi dezactivați din panou autentificarea cu parolă, cu butonul „Dezactivează login cu parolă” (Activarea și dezactivarea autentificării SSH cu parolă), și instalați fail2ban (Protecție împotriva încercărilor de ghicire a parolei cu fail2ban). Dacă serverul primește mult trafic de la multe adrese și rețeaua este saturată, scrieți suportului.

Serviciile căzute și erorile din jurnal

systemctl --failed
journalctl -p err -b

systemctl --failed listează serviciile care au eșuat; 0 loaded units listed. înseamnă că nu există. journalctl -p err -b arată erorile de la ultima pornire (ieșiți cu q). Pentru un serviciu din listă vedeți starea, ultimele mesaje, apoi reporniți-l:

systemctl status NUME_SERVICIU
journalctl -u NUME_SERVICIU -n 50 --no-pager
systemctl restart NUME_SERVICIU

Memoria epuizată (OOM)

Când se termină memoria RAM și swap-ul, nucleul Linux oprește forțat un proces, de regulă pe cel care folosește cea mai multă memorie (OOM killer). De obicei este baza de date sau aplicația: site-ul cade brusc, fără o eroare în aplicație. Verificați:

journalctl -k | grep -i "out of memory"
dmesg -T | grep -iE "out of memory|killed process"

Un rând de felul acesta confirmă cauza:

Out of memory: Killed process 1234 (mysqld) total-vm:2457600kB, anon-rss:1503232kB, …

Ce faceți:

  1. Porniți din nou serviciul oprit, cu systemctl restart (secțiunea de mai sus).
  2. Adăugați swap, ca rezervă pentru vârfuri scurte: Adăugarea memoriei swap.
  3. Reduceți memoria folosită de aplicație: mai puține procese PHP-FPM (pm.max_children), un buffer mai mic pentru MariaDB/MySQL (innodb_buffer_pool_size), limite de memorie pentru containerele Docker.
  4. Dacă aplicația are nevoie constant de mai multă memorie, treceți la un plan mai mare: Upgrade server: trecerea la un plan mai mare.

Cauze frecvente

Ce vedeți Cauza probabilă Ce faceți
Un proces ține procesorul la 100% mult timp proces scăpat de sub control: o buclă, un script blocat, sarcini cron suprapuse reporniți serviciul sau opriți procesul (comenzile de mai jos)
available aproape 0, mesaje „Out of memory” memoria epuizată secțiunea „Memoria epuizată (OOM)”
Use% 100% pe /, eroarea „No space left on device” disc plin Discul serverului este plin
wa mare, %util aproape de 100 disc suprasolicitat găsiți procesul cu pidstat -d; vedeți limita de IOPS a planului
Sute de încercări SSH eșuate, multe conexiuni de la aceleași adrese atac de ghicire a parolei sau roboți chei SSH și Protecție împotriva încercărilor de ghicire a parolei cu fail2ban
Încărcarea stă constant peste numărul de vCPU la activitatea obișnuită a aplicației plan prea mic pentru aplicație Upgrade server: trecerea la un plan mai mare
st mare minute în șir serverul fizic este încărcat scrieți suportului, cu ieșirea vmstat 1 5

Dacă procesul aparține unui serviciu (nginx, php-fpm, mariadb etc.), reporniți serviciul:

systemctl restart NUME_SERVICIU

Altfel, cereți procesului să se oprească (PID este numărul din prima coloană a lui top):

kill PID

Doar dacă după câteva secunde procesul încă rulează, opriți-l forțat:

kill -9 PID

Atenție Înainte să opriți un proces, aflați ce este, cu ps -fp PID sau systemctl status PID. Nu opriți serviciul ssh (sshd pe AlmaLinux și CentOS Stream): pierdeți accesul. Procesul alloy este agentul serviciului Monitoring; fără el graficele din panou se opresc. Un proces necunoscut care ține procesorul ocupat poate fi semn de compromitere: Serverul a fost spart sau este atacat: ce faceți.

Graficele din panou

Comenzile arată ce se întâmplă acum. Ca să vedeți când a început problema, folosiți pagina „Monitorizare” din panou. Pentru serverele cu serviciul Monitoring activ, blocul „Tendințe” arată graficele „Utilizare CPU (%)”, „Utilizare RAM (%)”, „Utilizare disc (%)”, „Rețea (octeți/s)”, „Încărcare medie (1m)” și „Procese”, pe intervale de la „1 h” la „90 zile”. Metricile se păstrează aproximativ 15 zile. Pe aceeași pagină, cardul „Alerte” afișează alertele serverelor dvs. și vă poate trimite email.

Fără serviciul Monitoring, pagina nu are date despre server; diagnosticați cu comenzile din acest ghid.

Ce trimiteți suportului

Dacă nu găsiți cauza, deschideți un tichet: „Contul meu” → „Ajutor și suport” → „Tichet nou” (Deschiderea unui tichet de suport). În câmpul „Server (opțional)” scrieți adresa IP a serverului. În „Descrieți problema” precizați când a început problema și ce ați încercat, apoi lipiți ieșirea acestor comenzi:

uptime
free -h
df -h
vmstat 1 5
ps aux --sort=-%cpu | head -n 15

Descrierea primește cel mult 10 000 de caractere, iar un text mai lung este tăiat fără avertisment. Nu trimiteți parole, chei private sau token-uri API.

Întrebări frecvente

Încărcarea medie este 4, iar serverul are 2 vCPU. Este grav? Procesele așteaptă la coadă. Dacă durează puțin (o copie de rezervă, o actualizare), nu este o problemă. Dacă durează și site-ul răspunde greu, căutați procesul cu top; dacă este încărcarea obișnuită a aplicației, aveți nevoie de un plan mai mare.

free -h arată aproape 0 în coloana free. Serverul rămâne fără memorie? Nu neapărat. Contează coloana available: memoria din buff/cache este eliberată când o cer aplicațiile.

Serverul a căzut, iar după repornire merge. Cum aflu cauza? Vedeți erorile pornirii anterioare și eventualele opriri din lipsă de memorie:

journalctl --list-boots
journalctl -b -1 -p err
journalctl -k -b -1 | grep -i "out of memory"

Dacă journalctl --list-boots arată o singură pornire, jurnalul nu se păstrează după repornire. Atunci căutați mesajele în /var/log/syslog (Ubuntu, Debian) sau /var/log/messages (AlmaLinux, CentOS Stream), dacă fișierul există, și în graficele din „Monitorizare”, dacă serverul are serviciul Monitoring. Ca jurnalul să se păstreze de acum înainte, creați-i directorul permanent:

mkdir -p /var/log/journal
systemctl restart systemd-journald

Comanda iostat, pidstat, sar sau htop nu există. Instalați pachetul sysstat (pentru primele trei) sau htop, cu comenzile din secțiunile de mai sus.

Pot vedea încărcarea serverului fără SSH? În panou, doar pe pagina „Monitorizare”, pentru serverele cu serviciul Monitoring. Panoul nu arată nici dacă serverul este pornit sau oprit. Comenzile din acest ghid le poate rula pentru dvs. și un asistent AI conectat la cont: Rularea comenzilor pe server prin AI.

N-ați găsit răspunsul?Scrieți-ne și echipa de suport vă răspunde. support@blackbox.md
Deschideți un tichet