Skip to content
VDS · Nadzor i performanse

Opterećenje diska: iostat i iotop

Kako da utvrdiš da li je mašina ograničena diskom, ko tačno piše i kako da povežeš brojeve sa ograničenjem brzine na svom VPS tier-u.

Ažurirano 23. avgust 2026.

Disk je najčešći uzrok „sve je sporo, a CPU se odmara". Procesi čekaju na I/O, load average raste, a htop pokazuje skoro nula CPU%. Hajde da vidimo kako to da sagledaš u brojkama.

Šta ti je dodeljeno

Diskovi na nodovima su NVMe, ali brzina je ograničena po tieru: upis — 60 MB/s po jezgru, ali ne manje od 60 i ne više od 400 MB/s; čitanje je duplo brže od upisa. Preko limita dozvoljen je burst tri puta veći, u trajanju od 30 sekundi — dovoljno da raspakuješ arhivu ili izgradiš projekat, ali ne i da neprekidno šalješ terabajt.

TierJezgraUpis, MB/sČitanje, MB/s
VDS-1160120
VDS-22120240
VDS-34240480
VDS-46360720
VDS-5 i VDS-68 i 10400800

Ako tvoja merenja udare tačno u ove brojke, dostigao si limit — ništa nije pokvareno. Preko toga pomaže samo prelazak na viši tier.

iostat: šira slika

apt install -y sysstat       # Debian, Ubuntu
dnf install -y sysstat       # AlmaLinux, CentOS Stream

iostat -xz 2

Komanda štampa snimak svake dve sekunde. Prvi izlaz je prosek od podizanja sistema — preskoči ga. Gledaj liniju vda ili sda:

  • r/s, w/s — operacije čitanja i upisa u sekundi.
  • rkB/s, wkB/s — megabajti, podeli sa 1024. Uporedi sa tabelom iznad.
  • await — prosečno čekanje po operaciji u milisekundama. Jednocifrene vrednosti su normalne; desetice i stotine znače red čekanja.
  • %util — koliko je disk zauzet. Stalnih 90–100 % znači da si udario u zid.

Korisan je i vmstat 2: kolona wa (io wait) pokazuje, u procentima, koliko vremena CPU provede samo čekajući na disk.

iotop: ko tačno piše

apt install -y iotop && iotop -oPa

-o prikazuje samo aktivne procese, -P prikazuje procese umesto niti, -a prikazuje akumuliranu količinu od pokretanja. Posle minut posmatranja videćeš pravog krivca: obično baza podataka, sakupljač logova ili backup.

Jednokratna provera bez interaktivnog interfejsa:

iotop -boPan 3 | head -20

Šta da radiš sa onim što nađeš

  • Journal piše. Ograniči mu veličinu: journalctl --vacuum-size=200M i SystemMaxUse=200M u /etc/systemd/journald.conf. Više o tome u systemd journal.
  • Baza podataka piše. Proveri da li se izvršava puno skeniranje tabele zbog indeksa koji nedostaje i da li je bafer premali, pa sve ide na disk.
  • Backup ili rsync u radno vreme. Ograniči brzinu: rsync --bwlimit=20M; za arhiviranje koristi ionice -c3 nice -n19 tar ... da zadatak ustupi resurse.
  • Swap. Ako je disk zauzet pejdžingom, problem nije disk nego memorija — pročitaj Memorija i swap.

Česte greške

Merenje brzine sa dd i conv=fdatasync i donošenje zaključaka na osnovu jednog pokretanja: prve sekunde rade na burst i daju naduvanu vrednost. Ispravna metodologija je u Benchmark diska i mreže.

Pun disk takođe izgleda kao „sve je sporo": nema slobodnog prostora, servis ne može da upiše privremeni fajl i visi. Prvo proveri df -h — traje jednu sekundu.