Nagios

監控伺服器上的高 Iowait + 高負載平均值

  • July 15, 2013

我有一個 nagios 伺服器,它在幾天前還可以正常工作。我已經停止它並重新啟動它以增加它的 RAM,從那時起,伺服器上的 iowait 急劇增加(超過 20%,之前不到 1%)。我試圖在伺服器上放回原始數量的 RAM,但我仍然遇到同樣的問題。

我已經閱讀了很多關於 serverfault 的類似 iowait 問題,但我從來沒有設法在我的案例中找到解釋:

查看 iotop,我看到 pdflush 有很多 io,它正在做頁面記憶體和 kjournald,這是專用的用於記錄 ext3 文件系統。我不知道這是否正常。根據其他伺服器故障問題,我嘗試將 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 磁碟用於台式 PC 以外的其他設備?

不。

它們速度慢、不可靠(它們會進入睡眠狀態並從 RAID 陣列中退出),並且完全不適合您想做的事情。

如果您遇到高 IOWait,則意味著磁碟子系統無法處理所需的磁碟 IO 量。

解決這個問題的簡單方法是添加更多磁碟(理想情況下是 RAID6 陣列中的一大堆)。

您還應該使用 smartctl 檢查一般磁碟健康狀況,並進行備份(無論如何都應該定期執行此操作,但如果您有過度使用的 WD Green,我會格外小心。)。

引用自:https://serverfault.com/questions/523316