我有一个完美的工作到几天前的一个nagios服务器。 我已经停止了它,并重新启动它来增加它的内存,从那时起,服务器上的iowait急剧增加(超过20%,这个数字还不到1%)。 我试图把服务器上原始数量的内存,但我仍然得到同样的问题。
我已经在serverfault上发现了很多类似的iowait问题,但我从来没有设法find解释我的情况:
看着iotop,我看到有很多的pdflush,这是做页面caching&kjournald,专门用于日记ext3文件系统的io。 我不知道是否正常 根据其他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%的swapin,因为我几乎没有掉期:
free -o total used free shared buffers cached Mem: 4046468 3163796 882672 0 103548 2193604 Swap: 4192956 1572 4191384
顶部不显示具体的东西,高负荷和高艾奥瓦
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。
在顶层,即使没有运行nagios进程,DSK也是100%忙碌。 我可以有硬盘问题吗? (这是一个西方的数字绿色,这是不应该在这样的服务器上运行)。 我在dmesg或syslog上没有任何特别的信息。
哦,对不起。 您是否将WD Green磁盘用于桌面PC以外的其他产品?
别。
他们很慢,不可靠(他们会睡觉,掉出RAIDarrays),完全不适合你想做的事情。
如果遇到高IOWait,则意味着磁盘子系统无法处理所需的磁盘IO数量。
解决这个问题的简单方法是添加更多的磁盘(理想情况下是RAID6arrays中的一大堆)。
您还应该使用smartctl来检查一般硬盘的健康状况,并进行备份(无论如何都要定期做这个工作,但是如果您使用的是过度使用的WD Green,我会格外小心)。
使用swapoff和swapon命令清除交换。 在这之后停止nagios并检查是否有任何pid仍在运行使用ps -ef|grep nagios现在再次启动nagios。
下面的命令将告诉交换fs具有哪个分区
swapon -s swapoff /dev/sdaN swapon /dev/sdaN