[root@Ask-02 ~]# wlinux
linux管理員經常使用的命令w,該命令顯示的信息很豐富,第一行從左至右顯示的信息一次爲:時間、系統運行時間、登陸用戶數、平均負載,這些數據裏最應該關注當爲load average後的3個數值。
第一個數值表示1分鐘內系統的平均負載值,第二個數值表示爲5分鐘內系統的平均負載值,第三個表示15分鐘內系統的平均負載值。這裏着重看第一個值,它表示單位時間段內使用CPU的活動進程數,值越大就說明服務器壓力越大,通常狀況下只要這個值不超過服務器的CPU數量就沒有關係。若是服務器CPU數量爲8,那麼值小於8就說明當前服務器沒有壓力,不然就要關注一下。能夠經過如下方式查看服務器有幾個CPU;數據庫
[root@Ask-02 ~]# cat /proc/cpuinfo緩存
使用vmstat命令監控系統的狀態服務器
[root@Ask-02 ~]# vmstatide
w命令能夠經過數值查看當前系統有沒有壓力,但沒法判斷具體是哪裏有壓力,這是就能夠經過vmstat命令答應結果來查看,顯示的結果共分爲六部分:procs、memory、swap、io、system、cpu。這裏咱們重點以下信息;工具
procs顯示進程的相關信息。 r(run):表示運行或等待cpu時間片的進程數。不要誤認爲等待cpu時間片意味着這個進程沒有運行,實際上某一刻1個cpu只能有一個進程佔用,其餘進程只能派對等着,此事這些派對等待cpu資源的進程依然是運行狀態。該數值若是長期大雨服務器cpu的個數,則說明cpu資源不夠用了。 b(block):表示等待資源的進程數,這個資源指的是I/O、內存等。該數值大於1,則須要關注一下了。
memory顯示內存相關的信息。 swpd:表示切換到交換分區中的內存數量,單位爲KB free:表示當前空閒的內存數量,單位爲KB buff:表示(即將寫入磁盤的)緩衝大小,單位爲KB cache:表示(從磁盤中讀取的)緩存大小,單位爲KB
swap顯示內存的交換狀況 si:表示由交換區寫入內存的數據量,單位爲KB so:表示由內存寫入交換區的數據量,單位爲KB
io顯示磁盤的使用狀況 bi:表示從塊設備讀取數據的量(讀磁盤),單位爲KB bo:表示從塊設備寫入數據的量(寫磁盤),單位爲KB
system顯示採集間隔內發生的中斷次數。 in:表示在某一時間間隔內觀測到的每秒設備的中斷次數 cs:表示每秒產生的上下文切換次數
cpu顯示CPU的使用狀態 us:顯示用戶下所花費cpu的時間百分比 sy:顯示系統花費cpu的時間百分比 id:表示cpu處於空閒狀態的時間百分比 wa:表示I/O等待全部佔用cpu的時間百分比 st:表示被偷走的cpu所佔百分比(通常都爲0,不用關注
以上常常須要關注的r、b和wa這三列。io部分的bi和bo也是要常常參考的對象,若是磁盤io壓力很大,這兩列的數值會比較高。另外,當si和so兩列的數值比較高而且不斷變化時,說明內存不夠了,內存中的數據頻繁交換到交換分區中,這每每對系統性能影響極大。性能
使用vmstat查看系統狀態是,經常使用都是以下形式ui
[root@Ask-02 ~]# vmstat 1
或者
[root@Ask-02 ~]# vmstat 1 5code
第一條命令表示每隔一秒輸出一次狀態且一直輸出,除非按ctrl+C鍵結束,後面一條命令表示每隔一秒輸出一次狀態,共輸出5次對象
用top命令顯示進程所佔的系統資源
[root@Ask-02 ~]# top
top命令用於動態監控進程所佔的系統資源,每隔3秒變一次。它的特色是把佔用系統資源最高的進程放到最前面,用top重點查看的如下進程使用系統資源的詳細情況,須要注意的有%CPU、%MEM和COMMAND這幾項所表明的意義,RES這一項爲進程所佔的內存大小,而%MEM這一項爲使用內存的百分比,在top狀態下,按Shift+m鍵能夠按照內存使用大小排序。按數字1能夠列出全部核CPU的使用狀態,按q鍵能夠退出top。
top -bn1命令一次性輸出全部信息而非動態顯示。
sar命令很強大,它能夠監控系統幾乎全部資源的狀態,若是系統還不能執行這條命令,則須要先安裝這條命令
[root@Ask-02 ~]# yum install -y sysstat
與其它系統狀態監控工具不一樣,它能夠打印歷史信息,能夠顯示當天從零點開始到當前時間的系統狀態信息。首次使用sar命令會報錯,那是應爲sar工具尚未生成相應的數據庫文件,它的數據庫文件在/var/log/sa/目錄下。經常使用的有兩個方面
查看網卡流量 sar -n DEV
[root@Ask-02 ~]# sar -n DEV
這條命令會把當天記錄的網卡信息打印出來,每一個10分鐘記錄一次,IFACE這一列表示設備名稱,rxpck/s這一列表示每秒進入收取的包的數量,txpch/s這一列表示每秒發送出去的包的數量,rxKB/s這一列表示每秒收取的數據量(單位爲KB),txKB/s這一列表示每秒發送的數據量。
若是哪天服務器丟包很是嚴重,那麼就應該查一下網卡流量是否異常,若是rxpck/s那一列的數值大於4000,或者rxKB/s那一列的數值大於5000000,頗有多是被***了,正常的服務器網卡流量不會這麼高,除非本身在複製數據。
實時查看網卡流量方法以下;
[root@Ask-02 ~]# sar -n DEV 1 5
另外也可使用-f選項查看某一天的網卡流量歷史,後面跟文件名,在Red Hat或者Centos發行版中,sar的庫文件必定在/var/log/sa/目錄下
[root@Ask-02 ~]# ls /var/log/sa/
sa02 sa03 sa04 sa05 sa06 sa08 sa09 sa10 sa15 sa16 sa17 sa19 sa23 sar02 sar05 sar15
[root@Ask-02 ~]# sar -n DEV -f /var/log/sa/sa10
查看歷史負載 sar -q
這個命令有助於咱們查看服務器在過去某個時間的負載情況。
[root@Ask-02 ~]# sar -q
使用nload命令查看網卡流量
nload工具是一個更直觀查看網卡流量的工具,系統默認沒有安裝這個工具,須要手動安裝
[root@Ask-02 ~]# yum install -y epel-release;yum install -y nload
[root@Ask-02 ~]# nload
最上面一行爲網卡的名字,以及ip地址,按左右方向鍵能夠查看其它的網卡流量。輸出結果分爲兩部分,Incoming爲進入網卡的流量,Outgoing爲網卡出去的流量,這裏關注Curr那行的數據,按q退出。