查看一個伺服器的負載情況一般是從記憶體,cpu的使用量來看的,還有就是磁碟io和網路io,下面會分別對其進行監控(環境sentos6.7)
記憶體負載情況:
free這個命令可以查看記憶體的使用方式可剩餘情況:具體使用如圖
cpu的負載情況:
使用top來動態顯示,直接在命令列中輸入 top 就能顯示如下圖所示:
load average是顯示的是cpu的負載情況,三個數分別是1分鐘,5分鐘,15分鐘的平均負載情況,對於單核來說cpu負載大於1的時候說明負載已經嚴重了,多核的時候是大於n(n為核心數)。這裡有點爭議,應為單核的時候大於1並不意味著cpu就是已經用盡了,所以這裡有的人認為負載可以達到2n的時候才認為負載比較嚴重。 Tasks行展示了目前的進程總數及所處狀態,要注意zombie,表示殭屍進程,不為0則表示有進程出現問題。 Cpu(s)行展示了當前CPU的狀態,us表示使用者進程佔用CPU比例,sy表示核心進程佔用CPU比例,id表示空閑CPU百分比,wa表示IO等待所佔用的CPU時間的百分比。wa佔用超過30%則表示IO壓力很大。在top下按1會顯示每個cpu的負載情況,注意cpu那行的變化。 Mem行展示了當前記憶體的狀態,total是總的記憶體大小,userd是已使用的,free是剩餘的,buffers是目錄緩衝。 Swap行同Mem行,cached表示緩衝,使用者已開啟的檔案。如果Swap的used很高,則表示系統記憶體不足。
磁碟io的負載情況使用的是iostat:
輸入iostat -x 1 10命令,表示開始監控輸入輸出狀態,-x表示顯示所有參數資訊,1表示每隔1秒監控一次,10表示共監控10次
網路io的負載情況ifstat:
ifstat sentos沒有內建,需要下載安裝
#下載yum install -y wgetwget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz#解壓安裝 需要依賴gcc,沒有了自己去下載tar -zxvf ifstat-1.1.tar.gzcd ifstat-1.1./configure #預設會安裝到/usr/local/bin/目錄中make && make install
使用如下(每秒列印出當時的上行和下行情況):
參數說明:
-l 監測環路網路介面(lo)。預設情況下,ifstat監測活動的所有非環路網路介面。經使用發現,加上-l參數能監測所有的網路介面的資訊,而不是只監測 lo的介面資訊,也就是說,加上-l參數比不加-l參數會多一個lo介面的狀態資訊。-a 監測能檢測到的所有網路介面的狀態資訊。使用發現,比加上-l參數還多一個plip0的介面資訊,搜尋一下發現這是並口(網路裝置中有一 個叫PLIP (Parallel Line Internet Protocol). 它提供了並口...)-z 隱藏流量是無的介面,例如那些介面雖然啟動了但是未用的-i 指定要監測的介面,後面跟網路介面名-s 等於加-d snmp:[comm@][#]host[/nn]] 參數,通過SNMP查詢一個遠程主機-h 顯示簡短的協助資訊-n 關閉顯示周期性出現的頭部資訊(也就是說,不加-n參數運行ifstat時最頂部會出現網路介面的名稱,當一屏顯示不下時,會再一次出現介面的名稱,提示我們顯示的流量資訊具體是哪個網路介面的。加上-n參數把周期性的顯示介面名稱關閉,只顯示一次)-t 在每一行的開頭加一個時間 戳(能告訴我們具體的時間)-T 報告所有監測介面的全部頻寬(最後一列有個total,顯示所有的介面的in流量和所有介面的out流量,簡單的把所有介面的in流量相加,out流量相 加)-w 用指定的列寬,而不是為了適應介面名稱的長度而去自動放大列寬-W 如果內容比終端視窗的寬度還要寬就自動換行-S 在同一行保持狀態更新(不滾動不換行)註:如果不喜歡螢幕滾動則此項非常方便,與bmon的顯示方式類似-b 用kbits/s顯示頻寬而不是kbytes/s-q 安靜模式,警告資訊不出現-v 顯示版本資訊-d 指定一個驅動來收集狀態資訊