У меня есть сервер nagios, который несколько дней назад отлично работал. Я остановил его и перезапустил, чтобы увеличить объем оперативной памяти, и с тех пор iowait на сервере резко увеличился (более 20%, раньше было менее 1%). Я попытался вернуть исходный объем ОЗУ на сервере, но проблема все еще возникает.
Я читал множество похожих проблем с iowait на serverfault, но мне так и не удалось найти объяснение в моем случае:
Глядя на iotop, я вижу, что есть много io для pdflush, который выполняет кеширование страниц, и kjournald, который предназначен для журналирования файловой системы ext3. Не знаю, нормально ли это. Согласно другим вопросам serverfault, я попытался поместить noatime в fstab. Файловая система Ext3 смонтирована в режиме упорядоченных данных
Total DISK READ: 0.00 B/s | Total DISK WRITE: 210.44 K/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
650 be/3 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % [kjournald]
11482 be/4 root 0.00 B/s 0.00 B/s 0.00 % 98.42 % [pdflush]
12167 be/4 nagios 0.00 B/s 0.00 B/s 0.00 % 0.12 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
11 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.10 % [migration/3]
12168 be/4 nagios 0.00 B/s 0.00 B/s 0.02 % 0.08 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
12165 be/4 nagios 0.00 B/s 0.00 B/s 98.42 % 0.02 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
2600 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.02 % auditd
12164 be/4 nagios 0.00 B/s 0.00 B/s 0.00 % 0.00 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
8 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/2]
20 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/6]
26 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [events/0]
23 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/7]
3047 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % snmpd -Ln -Lf /dev/null -p /var/run/snmpd.pid -a
12169 be/4 nagios 0.00 B/s 0.00 B/s 0.12 % 0.00 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
14 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/4]
2601 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % auditd
5 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
17 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/5]
5228 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % bash
10 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/2]
13 rt/3 root 0.00 B/s 0.00 B/s 0.10 % 0.00 % [watchdog/3]
следующая строка
12165 be/4 nagios 0.00 B/s 0.00 B/s 98.42 % 0.02 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
кажется довольно удивительным: как я могу иметь 98,42% свопинга, если у меня почти нет свопа:
free -o
total used free shared buffers cached
Mem: 4046468 3163796 882672 0 103548 2193604
Swap: 4192956 1572 4191384
вверху не отображается что-то конкретное, кроме высокой нагрузки и высокого iowait
top - 10:07:56 up 12 days, 23:42, 4 users, load average: 8.60, 9.29, 9.85
Tasks: 177 total, 1 running, 176 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.0%sy, 0.0%ni, 77.2%id, 22.6%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4046468k total, 3165500k used, 880968k free, 104204k buffers
Swap: 4192956k total, 1572k used, 4191384k free, 2201500k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5246 root 15 0 14252 2632 836 R 0.3 0.1 0:03.94 top
1 root 15 0 10372 696 584 S 0.0 0.0 0:03.61 init
2 root RT -5 0 0 0 S 0.0 0.0 0:14.80 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.73 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root RT -5 0 0 0 S 0.0 0.0 0:13.93 migration/1
6 root 34 19 0 0 0 S 0.0 0.0 0:01.75 ksoftirqd/1
7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1
8 root RT -5 0 0 0 S 0.0 0.0 0:09.51 migration/2
9 root 34 19 0 0 0 S 0.0 0.0 0:01.09 ksoftirqd/2
10 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/2
11 root RT -5 0 0 0 S 0.0 0.0 0:08.98 migration/3
12 root 34 19 0 0 0 S 0.0 0.0 0:01.46 ksoftirqd/3
13 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/3
14 root RT -5 0 0 0 S 0.0 0.0 0:20.36 migration/4
15 root 34 19 0 0 0 S 0.0 0.0 0:01.15 ksoftirqd/4
16 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/4
отключение процесса nagios делает загрузку системы нормальной (т.е. <1), но я все равно получаю высокий iowait.
В верхней части DSK занят на 100%, даже если процесс nagios не запущен. Может у меня проблема с жестким диском? (это западный цифровой зеленый цвет, который не должен работать на таком сервере). Я не получаю специального сообщения о dmesg или syslog.
Ой, простите. Вы используете диск WD Green не для настольного компьютера?
Не надо.
Они медленные, ненадежные (засыпают и выпадают из массива RAID) и совершенно не подходят для того, что вы хотите делать.
Если у вас высокий IOWait, это означает, что дисковая подсистема не может обрабатывать требуемый объем дискового ввода-вывода.
Самый простой способ решить эту проблему - добавить больше дисков (в идеале - целую группу в массиве RAID6).
Вы также должны проверить общее состояние диска с помощью smartctl и сделать резервную копию (в любом случае следует делать это регулярно, но если у вас есть чрезмерно используемый WD Green, я был бы очень осторожен).
используйте команду swapoff и swapon, чтобы очистить свопинг. После этого остановите nagios и проверьте, работает ли еще какой-либо pid. ps -ef|grep nagios
теперь запустите nagios еще раз.
Приведенная ниже команда сообщит, какой раздел имеет swap fs.
swapon -s
swapoff /dev/sdaN
swapon /dev/sdaN