使用w查看系統負載 vmstat命令 top命令 sar命令 nload命令

使用w查看系統負載:

1. w/uptime 查看系統負載:linux

[root@localhost ~]# w緩存

23:41:31 up 20 min, 2 users, load average: 0.32, 0.08, 0.05bash

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT服務器

root tty1 23:41 11.00s 0.02s 0.02s -bash網絡

root pts/0 192.168.0.108 23:22 3.00s 0.03s 0.01s wapp

•說明:工具

• 23:41:31 表示當前時間;性能

• up 20 min 表示機器運行多長時間;ui

• 2 users 表示多少個用戶登陸此機器;spa

• load average: 0.32, 0.08, 0.05 1分鐘,5分鐘,15分鐘內系統的平均負載。這個值定義的是單位時間內cpu活動進程數。固然,這個值越大就說明服務器壓力越大,通常狀況下只要不超過cpu的核數就不要緊,不然就要關注下負載是否太高了。

• USER表示是用哪一個用戶登陸的;

• TTY表示登陸linux的方式;tty表示在服務器本機登陸;pts/0表示使用遠程終端工具登陸;

• FROM表示在哪臺機器上登陸;

• LOGIN@表示用戶登陸時間;

• IDLE表示空閒了多長時間;

• JCPU表示當前終端下全部的進程以及子進程佔用的cpu時間是多少;

• PCPU表示當前命令w佔用的時間是多少;

• WHAT表示當前的命令是什麼;

uptime一樣能夠查看系統負載,實際上uptime顯示的結果和w第一行是同樣的

[root@localhost ~]# uptime

00:23:37 up 1:02, 2 users, load average: 0.00, 0.01, 0.05

/proc/cpuinfo 此文件記錄了cpu的詳細信息;

grep -c 'processor' /proc/cpuinfo 查看cpu核數;

vmstat命令:

2. vmstat 監控系統狀態

• 用法 vmstat 1 一秒中顯示一次,按ctrl + c 結束

• 用法 vmstat 1 5 一秒中顯示一次,共顯示5次

[root@localhost ~]# vmstat

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

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

2 0 0 1620388 764 152852 0 0 9 0 39 44 0 0 100 0 0

上面講的w查看的是系統總體上的負載,經過看那個數值能夠知道當前系統有沒有壓力。可是具體是哪裏(cpu,內存,磁盤等)有壓力就沒法判斷了,經過vmstat就能夠知道具體是哪裏有壓力。vmstat打印結果共分爲6部分:

procs,memory,swap,io,system,cpu。請重點關注r b si so bi bo 幾列。

• procs顯示進程相關信息:

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

用了。(表示有多少任務處於run狀態)

b:表示等待資源的進程數。好比,等待I/O 內存等,這列的值若是長時間大於1,則須要關

注 一下了。(被阻塞的進程數)

• memory內存相關信息:

swpd:表示切換到交換分區中的內存數量;單位是KB;(有些程序會把內存裏的數據放倒

交換)

free:當前空閒的內存數量

buff:緩衝大小,(即將寫入磁盤的,暫存內存的空間)還剩多少buff

cache:緩存大小,(從磁盤中讀取的)還剩多少cache

• swap 內存交換狀況

si:由交換區寫入到內存的數據量;單位KB

so:由內存寫入到交換區的數據量;單位KB

• io 磁盤使用狀況

bi:從塊設備讀取數據的量(讀磁盤);數據寫入內存,超過1000以上硬盤有些壓力

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

• system 顯示採集間隔內發生的中斷次數

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

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

• CPU 顯示cpu的使用狀態

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

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

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

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

st:表示被偷走的cpu所佔百分比(通常爲0)

us +sy +id = 100

top命令: 

• top查看進程使用資源狀況

• top -d 1 一秒中刷新一次(top默認3秒中刷新一次)

• top -c 顯示詳細的進程信息

• top -bn1 靜態顯示全部進程

• q退出,數字1顯示全部核cpu,大寫字母M按內存使用排序

• 大寫字母P按cpu使用排序

• top只顯示一屏幕,剩下的能夠按shift > 往下翻

sar命令:

sar(System Activity Reporter系統活動狀況報告)是目前 Linux上最爲全面的系統性能分析工具之一,能夠從多方面對系統的活動進行報告,包括:文件的讀寫狀況、系統調用的使用狀況、磁盤I/O、CPU效率、內存使用情況、進程活動及IPC有關的活動等。

sar在/var/log/sa/ 目錄下會天天生成一個sa+日期命名的文件,每個月循環覆蓋,每10分鐘統計一次系統狀態。

 

• yum install -y sysstat

安裝sysstat軟件包後可使用sar命令

 

選項:

1. sar 列出當天cpu資源情況

CPU: all 表示統計信息爲全部 CPU 的平均值。

%user: 顯示在用戶級別(application)運行使用 CPU 總時間的百分比。

%nice: 顯示在用戶級別,用於nice操做,所佔用 CPU 總時間的百分比。

%system: 在覈心級別(kernel)運行所使用 CPU 總時間的百分比。

%iowait: 顯示用於等待I/O操做佔用 CPU 總時間的百分比。

%steal: 管理程序(hypervisor)爲另外一個虛擬進程提供服務而等待虛擬 CPU 的百分比。

%idle: 顯示 CPU 空閒時間佔用 CPU 總時間的百分比。

1. 若 %iowait 的值太高,表示硬盤存在I/O瓶頸

2. 若 %idle 的值高但系統響應慢時,有多是 CPU 等待分配內存,此時應加大內存容量

3. 若 %idle 的值持續低於1,則系統的 CPU 處理能力相對較低,代表系統中最須要解決的資源是 CPU

sar 5 每5秒鐘統計一次負載,按ctrl + c 退出;

sar 5 3 每5秒統計一次,3次後結束;

sar -u 和sar同樣列出當天統計的CPU資源監控;

sar -u -f /var/log/sa/sa09 -f查看二進制歷史文件記錄的cpu資源監控;

 

2. sar -n DEV  列出當天的網卡流量狀態

sar -n DEV 1 10 1秒統計一次,10次後退出;

sar -n DEV -f /var/log/sa/saxx 查看具體日期網絡流量統計狀況;

rxpck/s 每秒接收數據包數

rxpck/s 每秒發送數據包數

rtkB/s 每秒接收的數據量

txkB/s 每秒發送的數據量

 

3. sar -b I/O和傳送速率監控

sar -b 1 5

sar -b -f /var/log/sa/saxx

tps:每秒鐘物理設備的 I/O 傳輸總量

rtps:每秒鐘從物理設備讀入的數據總量

wtps:每秒鐘向物理設備寫入的數據總量

bread/s:每秒鐘從物理設備讀入的數據量,單位爲 塊/s

bwrtn/s:每秒鐘向物理設備寫入的數據量,單位爲 塊/s

 

4. sar -q  系統負載

sar -q 1 3

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

進程隊列長度和平均負載狀態監控:

runq-sz:運行隊列的長度(等待運行的進程數)

plist-sz:進程列表中進程(processes)和線程(threads)的數量

ldavg-1:最後1分鐘的系統平均負載(System load average)

ldavg-5:過去5分鐘的系統平均負載

ldavg-15:過去15分鐘的系統平均負載

 

5. sar -f /var/log/sa/saxx  歷史文件

 

6. sar -o file表示將命令結果以二進制格式存放在文件中,file 是文件名。

sar -n DEV 1 3 -o net.txt

sar -f net.txt

 

ls /var/log/sa/

sa開頭的是二進制文件只能用sar -f查看

sar開頭的是普通文本能夠用cat查看

 

懷疑CPU存在瓶頸,可用 sar -u 和 sar -q 等來查看

懷疑內存存在瓶頸,可用 sar -B、sar -r 和 sar -W 等來查看

懷疑I/O存在瓶頸,可用 sar -b、sar -u 和 sar -d 等來查看

nload命令:

用途: 用來即時監看網路狀態和各ip所使用的頻寬

1. yum install -y nload

安裝nload命令

2. nload命令直接輸入使用

第一行分別是網卡 ip 以及第幾個網卡;

按左右鍵能夠切換網卡;

按q退出

上半部分是:Incoming也就是進入網卡的流量,

下半部分是:Outgoing,也就是從這塊網卡出去的流量,

Curr:當前網卡流量

Avg:平均流量

Min:最小流量

Max:最大流量

Ttl:總共流量

相關文章
相關標籤/搜索