Очень высокие времена IOWAIT
У меня большая система - 128 ГБ, пара файловых систем RAID0 (6 ТБ и 2 ТБ) с SSD-кешем, 8 ядер (16 с гиперпоточностью), работающая под управлением Ubuntu 12.04 64bit. Когда я пытаюсь написать большой файл, у меня очень низкая производительность, и iotop показывает процессы, ожидающие более 99% в iowait:
dd if=/dev/zero of=lezz bs=1024 count=$((1024*50))
51200+0 records in
51200+0 records out
52428800 bytes (52 MB) copied, 3.74852 s, 14.0 MB/s
Из iotop:
Total DISK READ: 185.92 K/s | Total DISK WRITE: 84.06 M/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
24481 be/4 arris292 0.00 B/s 0.00 B/s 0.00 % 99.99 % dd if=/dev/zero of=lezz bs=1024 count=512000
22668 be/4 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % [flush-252:0]
21532 be/4 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % [kworker/1:2]
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
8196 be/4 arris292 0.00 B/s 0.00 B/s 0.00 % 0.00 % sshd: arris292@pts/22
5 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u:0]
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
В очень похожей системе (та же память, та же модель, аналогичная файловая система) я получаю ожидаемую производительность, и никакие процессы не ожидают ввода-вывода в 99% времени....
dd if=/dev/zero of=lezz bs=1024 count=$((1024*50))
51200+0 records in
51200+0 records out
52428800 bytes (52 MB) copied, 0.111191 s, 472 MB/s
Я видел это раньше, но я так и не смог разобраться в сути проблемы, и с течением времени, когда все больше инженеров начинают использовать эту систему для сборки, общая производительность упадет до минимума.
Так что может быть причиной невероятно высокого времени ожидания ввода-вывода? Как я могу устранить эту проблему дальше? Возможно, это проблема с SSD или диском, и если да, то какие инструменты я могу использовать для диагностики?