天天看點

<ubuntu ping響應慢 延遲嚴重解決方案>

監控一直報警,煩的要命。

 排除這幾項:

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

繼續閱讀