26期20180710 w vmstat top sar nload


7月10日任務

10.1 使用w查看系統負載
10.2 vmstat命令
10.3 top命令
10.4 sar命令
10.5 nload命令





image.png

使用w查看系統負載


監控系統狀態


w / uptime(一般使用w看) 查看系統負載

image.png

第一行的顯示:

時間   系統啓動時長  多少用戶登陸  系統cpu負載: 一分鐘 五分鐘 十五分鐘的負載

第二行的顯示:

用戶    終端  來自     登陸時間   IDLE空閒了多久


如果遠程會顯示來自哪,如果本地則沒有,tty也會有變化 pts/0 pts/1表示的是遠程登錄 如果是本機登錄的話是 tty

image.png

最關鍵的是load average後的第一個數字,這個代表了一分鐘內的負載。這個值不大於當前cpu processor就說明夠用,否則就是說明當前有進程

未被分配到資源,處於等待的狀態。


如何查看cpu信息


cat  /proc/cpuinfo  處理器0 表示有1顆

image.png



vmstat命令


當系統負載大於cpu的時候,就需要查看什麼原因導致了cpu不夠用,這個時候就需要vmstat命令了。

image.png

vmstat 1 表示每一秒顯示一次可以看出來變化  vmstat 1 5 表示每一秒顯示一次 只顯示五次

image.png

vmstat 1 10 顯示十次1秒 

image.png

r ---run 表示有多少個進程處於運行的狀態。這裏說的運行的進程包括排隊中的進程

b--- block 被堵塞的進程,被硬盤或者網絡阻斷了。卡住了。

swpd ---交換分區,內存不夠的時候會放進去。不變化還好,如果這個值在變,說明內存不夠用了,內存和交換空間在不停交換數據。

si  in有多少k的數據從swap進入到內存中 單位是k

so  out有多少k的數據從內存到swap中 單位是k

bi 從磁盤裏出來進入到內存裏去,就是讀的數據量

bo 從內存寫到此盤裏,就是寫的數據。

us 表示用戶級別的 用戶佔用,通常表示用戶下的服務,這個數字不會超過100

sy  表示系統本身的進程服務等佔用cpu的百分比

id 是空閒 所以 us sy id wa相加應該是100

wa wait 跟b有點像, 有多少進程在等待cpu


所以可以通過vmstat判斷出來系統的問題是出在什麼地方



top命令

w----查系統負載

vmstat --查看系統的瓶頸

top可以用來查看具體進程,看是什麼進程導致的原因。 3秒顯示一次,動態顯示。

st steal 被偷走的cpu。如果服務器做了虛擬化,有一些子虛擬機有可能會偷走一部分的cpu

密切關注us的值,這個值始終太高的話對cpu非常不好。

大部分情況下,us很高的情況下,系統負載會很高的。

接下來是內存和交換分區的使用情況。第一行通常被關注的比較多。 

默認按照cpu百分百排序,使用的多的在前面。如果想查看按照內存排序就按M 顯示

RES是物理內存大小,單位是KB,這個值除以總的內存物理大小就是後面的%MEM的值,也就是佔了物理內存的百分比。


image.png

image.png

按P回到按cpu大小%排序

按數字1 列出指定的cpu使用情況

按字母q退出top

top -c顯示具體的命令對應的進程

image.png


top -bn1將所有進程一次性列出來,寫shell腳本的時候可能會用到

image.png


另外注意pid,可以用kill pid 殺掉進程



sar命令

image.png

yum install sysstat


sar如果不加參數或者選項 會報錯 

sar如果後面不加選項,會默認去調用系統裏的log歷史文件。sar每十分鐘系統狀態保存一遍到如下目錄。sa05,這個數字是根據當天的日期來寫的。5號就是sa05。最多保留一個月的歷史記錄數據。

在這個目錄下也會有一個sar05的文件,第二天生成。區別是sa05是二進制文件不能被cat,只能用-f來查看,但是sar05是可cat的。

image.png

sar -n DEV 1 10

顯示網卡的流量, 1秒一次,共10次。

image.png

解釋一下

rxpck 是receive的數據包 單位是個

txpck 是send的數據包

rxkb 是接受的數據量 單位是kb

txkb 是發出的數據量 

eg

對網卡進行***,對網卡發出大量的數據包,很大的話網卡無法承擔造成網絡堵塞。

比如100M帶寬,實際是12.8m每秒傳輸的速度。所以要關注網卡流量是多少,正常情況下,包的數量幾千還算合適,上萬就不正常了。當然要藉助抓包工具來具體判斷。


如何查看歷史數據?sa文件只能通過這種方式打開

sar -n DEV -f /var/log/sa/文件名

image.png


sar -q 

查看系統負載 更多是後面接 -f 以及具體某天的文件來進行查看當時的負載

sar -q -f /var/log/sa/sa05

image.png


sar -b 查看磁盤 主要看讀寫

image.png



nload命令

動態顯示網卡實時數據傳輸情況,左右鍵可以切換網卡

image.png

image.png

通常所說的帶寬指的都是出去的帶寬。要根據帶寬和出去的值的對比,而如果是遭受網卡***則進來的很大。

image.png


總結:

w 查看系統負載

vmstat 查看包括CPU內存虛擬磁盤交換分區以及io 系統進程等信息

top查看具體系統進程以及資源使用情況

sar是全面分析系統狀態的命令主要可以查看網卡狀態。

nload是更形象的查看網卡的狀態。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章