第五章 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用法正確的是
A 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
參考資料。