1. 程式人生 > >伺服器問題 排查思路

伺服器問題 排查思路

一.儘可能搞清楚問題的前因後果

        1.故障是什麼時候發現的?

        2.故障的表現是什麼?無響應?報錯?

        3.最後一次對整個平臺進行更新的內容是什麼(程式碼、伺服器等)

二.當前有誰在,做過什麼操作

        1.  w/who   

        2. last

        3. history

三.現在執行的程序有什麼

        1. pstree -a              //以樹狀圖顯示程序見的關係

        2. ps -aux

四.監聽的網路服務

        1. netstat -nalp       

        2.netstat -ntlp

        3.netstat -nulp

        -n或--numeric 直接使用IP地址,而不通過域名伺服器。

        -a或--all 顯示所有連線中的Socket。

        -l或--listening 顯示監控中的伺服器的Socket。

        -p或--programs 顯示正在使用Socket的程式識別碼和程式名稱。

        -t或--tcp 顯示TCP傳輸協議的連線狀況。

        -u或--udp 顯示UDP傳輸協議的連線狀況。

五.  記憶體   CPU  磁碟空間

        1.記憶體

                (1) free -m 

                第一行 :            記憶體總數         已使用記憶體數         空閒記憶體數      廢棄記憶體數         快取記憶體數             快取記憶體數

                第二行:             - buffers/cache:  已使用記憶體數 (指的第一行中的used – buffers – cached)

                                          + buffers/cache:  空閒記憶體數(指的第一行中的free + buffers + cached)       

                第三行: 指交換分割槽, Linux的Swap類似於Windows的虛擬記憶體,就是把一部分硬碟空間虛擬成記憶體使用,用來解決記憶體容量不足的問題。如果有使用到Swap,說明伺服器該升級配置了。

        2.CPU

                (1)uptime

         系統時間            系統執行時間         已登入使用者的數量       系統的平均負載量:     過去一分鐘    五分鐘     十五分鐘

         注:有一種說法,當load avarage <3 系統良好,大於5 則有嚴重的效能問題

                (2)top

                第一行同uptime

                第二行為程序的資訊

                       總程序數        正在執行的程序數        睡眠程序數            停止程序數          殭屍程序數

                第三行為CPU資訊   

                       us: 使用者空間佔用CPU百分比       

                       sy  核心空間佔用CPU百分比

                       ni  使用者程序空間內改變過優先順序的程序佔用CPU百分比

                       id  空閒CPU百分比           //比較重要

                       wa  等待輸入輸出的CPU時間百分比       

                第四、五行為記憶體資訊 

                Mem  :  8169876  k  total  ,  7686472  k  used  ,  483404  k  free  ,  35272  k  buffers

                              實體記憶體總量       使用的實體記憶體總量    空閒記憶體總量         用作核心快取的記憶體量                 Swap  :  4096532  k  total  ,  160  k  used  ,  4096372  k  free  ,  2477532  k  cached

                              交換分割槽總量        使用的交換區總量       空閒交換區總量      緩衝的交換區總量

        3.磁碟空間

                   (1) df   -h       顯示目前在Linux系統上的檔案系統的磁碟使用情況統計

                                                                                                                   

         檔案系統的名稱         總記憶體      使用中的記憶體     可使用的記憶體      使用的記憶體佔總記憶體的百分比      掛載點

                   (2) du  -sh   *     檢視當前資料夾下所有目錄大小

六.io效能

        1.iotop         

                                                        讀取速度                 寫入速度

       2. dstat --top-mem --top-io --top-cpu           檢視當前佔用記憶體、io、CPU最高的程序資訊