十四、w、vmstat、top、sar命令

第五章 Linux 系統日常運維管理

1,查看系統負載命令。

#w

 08:47:36 up  3:25,  2 users,  load average: 0.00, 0.00, 0.00  (#uptime 也顯示這一行)

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     tty1     -                05:23    1:38m  0.02s  0.02s -bash

root     pts/0    192.168.1.117    06:59    0.00s  1.29s  0.01s w

------------

平均負載值 load average: 0.00, 0.00, 0.00 ,3個數字分別表示,1分鐘,5分鐘,15分鐘內,系統的平均負載值。即單位時間內CPU活動進程數。這個值越大說明服務器壓力越大。


查看服務器有幾個CPU

#cat /proc/cpuinfo   (proc/cpuinfo 這個文件記錄了cpu的詳細信息。)

會顯示多段processor的類似信息

#grep -c 'processor' /proc/cpuinfo 查看當前系統有幾個cpu


2,vmstat 命令,


# vmstat 1

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r  b   swpd   free   buff  cache   si   so    bi  bo  in   cs us sy id wa st

0  0    0   834828  26788 118544   0    0     5  2   9    9  0  0 100 0 0

……

(1)procs 顯示進程相關信息

r:表示運行和等待cpu時間片的進程數。如果長期大於服務器cpu個數,則說明cpu不夠用了

b:表示等待資源的進程數。比如等待I/O、內存等,如果大於1,則需要關注

(2),memory 信息

swpd:表示切換到交換分區中的內存數量,如果其數值增大或不斷變化,則說明內存不夠

free:當前空閒的內存數量

buff:緩衝大小(即將寫入磁盤的)

cache:緩存大小(從磁盤寫出的)

(3),swap內存交換情況

si:由交換區寫入到內存 swap in

so:由內存寫入到交換區的數據量 swap out

si/so列一直是0,或者很穩定,小,則內存沒有問題。若值變化頻繁並長期大於0,則有可能內存不夠了

(4),io磁盤使用情況

bi:從塊設備讀取數據的量(都磁盤)

bo:從塊設備寫入數據的量(寫磁盤)

普通硬盤超過長期處於1000以上,則有可能產生瓶頸

(5),system顯示採集間隔內發生的中斷次數

in:表示在某一時間間隔內觀測到的每秒設備中斷數。

cs:表示每秒產生的上下文切換次數。

(6),CPU 顯示cpu的使用狀態

us:顯示了用戶下所花費cpu時間的百分比

sy:顯示系統花費cpu時間百分比

id:表示cpu處於空閒狀態的時間百分比

wa:表示I/O等待所佔用cpu時間百分比

st:表示被偷走的cpu所佔百分比。(一般爲0,,不用關注)


3,top命令,動態查看負載

這個命令用於動態監控進程所佔系統資源,每隔3秒變一次。特點是把佔用系統資源(cpu 內存、磁盤IO等)最高的進程放前面。


# top

top - 09:54:29 up  4:32,  2 users,  load average: 0.00, 0.00, 0.00

Tasks:  96 total,   1 running,  95 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.0%us,  0.2%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Mem:   1030240k total,   196196k used,   834044k free,    27252k buffers

Swap:  2097148k total,        0k used,  2097148k free,   118560k cached


  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

   12 root      20   0     0    0    0 S  0.3  0.0   0:05.05 events/1

 1478 root      20   0 11788 3524 2736 S  0.3  0.3   0:03.80 sshd

 1699 root      20   0  2688 1120  888 R  0.3  0.1   0:00.02 top

    1 root      20   0  2904 1412 1196 S  0.0  0.1   0:02.14 init


PR:[0,39]  

NI[-20,+19]

VIRT:用了多大虛擬內存

RES:用了多大實際內存

SHR:是共享內存

s:表示一個進程處於sleep狀態

%CPU:利用CPU百分比

%MEM:利用內存百分比

TIME+:使用cpu有多久

COMMAND:命令來源



1,top用法正確的是

top -bn1 可以一次性顯示所有的進程

B top 默認會以cpu使用率的高低來排序

C top後按一下M可以按內存使用大小來排序

D top之後需要按q纔可以退出來 ,

2,top -c 選項可以展示最後一列爲更加詳細的進程?


4,sar 命令。

sar命令可以監控系統所有資源狀態。(平均負載、網卡流量、磁盤狀態、內存使用等)還可以打印歷史信息,可以顯示當天從零點開始到當前時刻的系統狀態信息。

安裝: #yum install -y sysstat  


#sar -q 能夠查看系統歷史負載

#sar -b 1 10 可以查看當前的磁盤io狀態

#sar -n DEV 1 10 可以查看網卡流量

#sar -p 1 10 可以查看cpu的使用情況

使用sar去查看歷史負載,比如19日的負載?

#sar -q -f /var/log/sa/sa19


-A:所有報告的總和。-u:CPU利用率-v:進程、I節點、文件和鎖表狀態。-d:硬盤使用報告。-r:沒有使用的內存頁面和硬盤塊。-g:串口I/O的情況。-b:緩衝區使用情況。-a:文件讀寫情況。-c:系統調用情況。-R:進程的活動情況。-y:終端設備活動情況。-w:系統交換活動。-n: 記錄網絡使用情況

http://www.360doc.com/content/ ... shtml

參考資料。 


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