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核數;
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 -d 1 一秒中刷新一次(top默認3秒中刷新一次)
• top -c 顯示詳細的進程信息
• top -bn1 靜態顯示全部進程
• q退出,數字1顯示全部核cpu,大寫字母M按內存使用排序
• 大寫字母P按cpu使用排序
• top只顯示一屏幕,剩下的能夠按shift > 往下翻
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 等來查看
用途: 用來即時監看網路狀態和各ip所使用的頻寬
1. yum install -y nload
安裝nload命令
2. nload命令直接輸入使用
第一行分別是網卡 ip 以及第幾個網卡;
按左右鍵能夠切換網卡;
按q退出
上半部分是:Incoming也就是進入網卡的流量,
下半部分是:Outgoing,也就是從這塊網卡出去的流量,
Curr:當前網卡流量
Avg:平均流量
Min:最小流量
Max:最大流量
Ttl:總共流量