1. 程式人生 > >w、top、vmstat、sar、nload命令

w、top、vmstat、sar、nload命令

開頭 用戶 and star 影響 發生 proc 文件 aac

一:w和uptime命令
● w命令

技術分享圖片
從左至右:
第一行顯示信息為:時間、系統運行時間、登陸用戶數、平均負載。
之後幾行顯示的為當前登陸的用戶有哪些,從哪登陸的,登陸時間等等。
重點關註load average後的三個數字。

  1. 表示1分鐘內系統的平均負載值。
  2. 5分鐘系統的平均負載值。
  3. 15分鐘系統的平均負載值。
    這個值表示單位時間內CPU活動進程數,值越大服務器壓力越大,一般情況下只要不超過服務器的cpu數量就沒問題。
    如何查看服務器有幾個邏輯cpu?(2顆4核cpu為8個)查看processor的值
    技術分享圖片
    或者 grep -c ‘processor‘ /proc/cpuinfo
    查看物理cpu數量
    需要查看physical id信息。
    ● uptime命令
    技術分享圖片
    同w命令第一行。

    二:vmstat命令

    格式:vmstat 1 5或者vmstat 1
    每隔一秒鐘輸出一次狀態,共輸出5次。
    或者每隔一秒輸出一次,且一直輸出。

技術分享圖片
● procs 顯示進程相關信息
r:表示運行和等待cpu時間片的進程數。如果長期大於服務器的cpu的個數,則說明cpu不夠用了。
b:表示等待資源的進程數。這列的值如果長時間大於1,則需要關註。
● memory 內存相關信息
swpd:表示切換到交換分區中的內存數量。
free:當前空閑的內存數量。
buff:緩沖大小(即將寫入磁盤的)
cache:緩存大小(從磁盤中讀取的)
● swap 內存交換情況
si:由交換區寫入到內存的數據量

so:由內存寫入到交換區的數據量
● io 磁盤使用情況
bi:從塊設備讀取數據的量(讀磁盤)
bo:從塊設備寫入數據的量(寫磁盤)
● system 顯示采集間隔內發生的中斷次數
in:表示在某一時間間隔中觀測到的每秒設備中斷數
cs:表示每秒產生的上下文切換次數
● cpu 顯示cpu的使用狀態
us:顯示了用戶下所花費cpu時間的百分比
sy:顯示系統花費cpu時間百分比
id:表示cpu處於空閑狀態的時間百分比
wa:表示I/0等待所占用cpu時間百分比
st:表示被偷走的cpu所占百分比(一般為0,不用關註)

如果磁盤io壓力很大時,io部分的bi以及bo就會比較高。
當si、so數值比較高,並且在不斷變化時,說明內存不夠了,內存中的數據頻繁交換到交換分區中,這往往對系統性能影響較大。

三:top命令

用於動態監控金城所占系統資源,每隔3秒變一次。
特點:占用系統資源(CPU,內存,磁盤IO等)最高的進程放到前面。
需要關註的:CPU,MEM,COMMAND
RES:進程所占內存大小
MEM:使用內存百分比
shift+m,按照內存使用大小排序
數字1:列出各顆cpu的使用狀態
非動態打印系統資源使用情況:top -bn1
技術分享圖片

四:sar命令

安裝命令:yum install -y sysstat
初次使用會報錯,因為sar工具還沒有生成相應的數據庫文件,運行/etc/init.d/sysstat start 命令即可生效。
數據庫文件保存目錄:/var/log/sa/
優點:可以監控系統所有資源狀態。可以打印歷史信息,可以顯示當天從0點開始到當前時刻的系統狀態信息。
● sar -n DEV 查看網卡流量歷史
技術分享圖片
IFACE:表示設備名稱
rxpck/s:表示每秒進入收取包的數量
txpck/s:每秒發送出去的包的數量
rxKB/s:每秒收取的數據量(單位KByte)
txKB/s:每秒發送的數據量
如果服務器丟包嚴重,就要查看一下網卡流量
如果rxpck/s數值大於4000,或者rxKB/大於5000,很有可能被×××了。

查看時時網卡流量
sar -n DEV 1 5
查看某一天的網卡流量歷史
sar -n DEV -f /var/log/sa/文件名
在/var/log/sa/中有兩種文件,sa開頭加日期不能直接cat查看,只能用sar -f,sar加日期的文件可以直接cat。
● sar -q 查看歷史負載

五:nload命令

yum install -y nload
nload查看網卡流量
技術分享圖片

w、top、vmstat、sar、nload命令