SYSTEMS OPERATIONAL
Blog

RASP probe D - please ignore delete me

Getwebup 2 min read

Probe.

rong> Full-server backups, malware scans, or a tar/rsync job reading every file on disk will saturate I/O for everything else sharing that volume.
  • MySQL/MariaDB flush behavior. InnoDB flushing dirty pages to disk, especially with innodb_flush_log_at_trx_commit=1 on a busy write workload, generates constant small writes that compete with everything else.
  • Noisy-neighbor contention. On shared block storage (common with budget cloud VPS), another tenant's heavy I/O can throttle your throughput even though your own processes are behaving.
  • A failing or degraded disk. Bad sectors or a dying drive cause retries at the hardware level, which look exactly like I/O wait from userspace.
  • Log files or a table growing unbounded. A runaway access log, debug log, or an unindexed table forcing full scans on every query all generate write/read pressure that doesn't show up as CPU load.
  • Fix: Confirm It, Then Find the Culprit

    Step 1 - Confirm it's I/O, not CPU

    Run vmstat 1 5 and watch the wa column (percentage of time the CPU is idle waiting on I/O) and the b column (processes blocked waiting for I/O):

    vmstat 1 5
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     0  6      0  81234  12044 512300    0    0  8420   960 1500 2200  2  3 12 83  0

    A wa value sitting in the 30-80% range with a non-zero b column confirms processes are genuinely blocked on disk, not competing for CPU.

    Step 2 - Check if it's actually swap

    free -h
    swapon --show

    If swap used is climbing and si/so in vmst

    Keep reading

    Chat with Support