Skip to content
VDS · Monitoring a výkon

Záťaž disku: iostat a iotop

Ako zistiť, či je stroj limitovaný diskom, kto presne zapisuje a ako čísla súvisia s rýchlostným limitom tvojho VPS tieru.

Aktualizované 23. augusta 2026

Disk je najčastejšou príčinou situácie „všetko je pomalé, ale CPU je nečinný“. Procesy čakajú na I/O, load average stúpa, no htop ukazuje takmer nulové CPU%. Pozrime sa, ako to vidieť v číslach.

Čo máš pridelené

Disky na nódoch sú NVMe, ale rýchlosť je obmedzená podľa tieru: zápis — 60 MB/s na jadro, ale nie menej ako 60 a nie viac ako 400 MB/s; čítanie je dvojnásobok rýchlosti zápisu. Nad limitom je povolený burst trojnásobne vyšší na 30 sekúnd — dosť na rozbalenie archívu alebo zostavenie projektu, ale nie na nepretržité nahrávanie terabajtu.

TierJadráZápis, MB/sČítanie, MB/s
VDS-1160120
VDS-22120240
VDS-34240480
VDS-46360720
VDS-5 a VDS-68 a 10400800

Ak sa tvoje merania trafia presne do týchto čísel, dosiahol si limit — nič nie je pokazené. Nad ním pomôže len prechod na vyšší tier.

iostat: celkový obraz

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

iostat -xz 2

Príkaz vypisuje snímku každé dve sekundy. Prvý výstup je priemer od štartu systému — ten preskoč. Sleduj riadok vda alebo sda:

  • r/s, w/s — operácie čítania a zápisu za sekundu.
  • rkB/s, wkB/s — megabajty, vydeľ 1024. Porovnaj s tabuľkou vyššie.
  • await — priemerné čakanie na operáciu v milisekundách. Jednociferné hodnoty sú normálne; desiatky a stovky znamenajú front.
  • %util — ako je disk vyťažený. Trvalých 90–100 % znamená, že si narazil na stenu.

Užitočný je aj vmstat 2: stĺpec wa (io wait) ukazuje v percentách, koľko času CPU strávi len čakaním na disk.

iotop: kto presne zapisuje

apt install -y iotop && iotop -oPa

-o zobrazuje len aktívne procesy, -P zobrazuje procesy namiesto vlákien, -a zobrazuje nahromadený objem od spustenia. Po minúte sledovania uvidíš skutočného vinníka: zvyčajne databázu, zberač logov alebo zálohu.

Jednorazová kontrola bez interaktívneho rozhrania:

iotop -boPan 3 | head -20

Čo robiť s tým, čo nájdeš

  • Journal zapisuje. Obmedz jeho veľkosť: journalctl --vacuum-size=200M a SystemMaxUse=200M v /etc/systemd/journald.conf. Viac nájdeš v systemd journals.
  • Databáza zapisuje. Skontroluj, či nebeží full table scan pre chýbajúci index a či nie je buffer nastavený príliš malý, čo núti všetko na disk.
  • Záloha alebo rsync počas pracovných hodín. Obmedz rýchlosť: rsync --bwlimit=20M; pri archivácii použi ionice -c3 nice -n19 tar ..., aby úloha ustúpila.
  • Swap. Ak je disk vyťažený stránkovaním, problém nie je disk, ale pamäť — prečítaj si Pamäť a swap.

Časté chyby

Meranie rýchlosti pomocou dd a conv=fdatasync a vyvodzovanie záverov z jedného behu: prvé sekundy bežia na burst a dávajú nafúknutý výsledok. Správna metodika je v Benchmarking rýchlosti disku a siete.

Plný disk tiež vyzerá ako „všetko je pomalé“: nie je voľné miesto, služba nemôže zapísať dočasný súbor a zasekne sa. Najprv skontroluj df -h — zaberie to jednu sekundu.