監控一直報警,煩的要命。
排除這幾項:
1.ip配置問題;
2.dns解析問題;
3.網線問題;
試着新裝ubuntu server看看,ping 依舊存在此問題,centos、redhat玩多了,碰到這個還真是太相信自己水準,但就是解決不了ping的問題。
後來發現是因為/etc/nsswitch.conf檔案中hosts的配置有問題,做如下修改後正常:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
#hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 //注釋掉此行
hosts: files dns //添加下面這行
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
~
不用重新開機,現在ping一切正常了。
問題錯在:
當需要提供nsswitch.conf檔案所描述的資訊的時候,系統将檢查含有适當info字段的配置行,它按照從左向右的順序開始執行配置行中指定的方法。在預設情況下,如果找到期望的資訊,系統将停止搜尋。如果沒有指定action,那麼當某個方法未能傳回結果時,系統就會嘗試下一個動作,有可能搜尋結束都沒有找到想要的資訊。
例如下面兩行nsswitch.conf檔案配置行:
host nis files dns
通過#strace /etc/nsswitch.conf 可以檢視到其實,延遲的原因是在nis這塊,它在調用搜尋nis庫時,一直找不到,耽誤過多的時間,繼續下一個搜尋,找到了,進而出現延遲。
strace常用來跟蹤程序執行時的系統調用和所接收的信号。 在Linux世界,程序不能直接通路硬體裝置,當程序需要通路硬體裝置(比如讀取磁盤檔案,接收網絡資料等等)時,
必須由使用者态模式切換至核心态模式,通 過系統調用通路硬體裝置。strace可以跟蹤到一個程序産生的系統調用,包括參數,傳回值,執行消耗的時間。
本文轉自青衫解衣 51CTO部落格,原文連結:http://blog.51cto.com/215687833/1757923