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.
| Tier | Jezgra | Upis, MB/s | Čitanje, MB/s |
|---|---|---|---|
| VDS-1 | 1 | 60 | 120 |
| VDS-2 | 2 | 120 | 240 |
| VDS-3 | 4 | 240 | 480 |
| VDS-4 | 6 | 360 | 720 |
| VDS-5 i VDS-6 | 8 i 10 | 400 | 800 |
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=200MiSystemMaxUse=200Mu/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 koristiionice -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.