維護(hù)服務(wù)器的時(shí)候,要經(jīng)常查看系統(tǒng)資源的,可以了解一下服務(wù)器的運(yùn)行情況。系統(tǒng)優(yōu)化時(shí),比如使用memcache時(shí),我要決定分配多少內(nèi)存給他合適呢,mysql的innodb的參數(shù)優(yōu)化也要考慮到內(nèi)存使用率,i/o的頻繁程度啊,如果使用apache的話,要啟動(dòng)多少個(gè)httpd比較合適呢,如果數(shù)據(jù)庫(kù)的數(shù)據(jù)太大,我要看看是不是增加磁盤(pán)呢等等,這個(gè)時(shí)候,我們要知道,有多少資源可用,才能更好的優(yōu)化我們的系統(tǒng)。
1,top命令查看cpu,mem的使用情況
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21093 root 15 0 12700 736 524 S 2 0.0 80:01.36 cmahostd
1 root 15 0 10324 84 52 S 0 0.0 1:10.26 init
2 root RT -5 0 0 0 S 0 0.0 0:27.31 migration/0
%cpu 進(jìn)程所占cpu時(shí)間的百分比
%mem 進(jìn)程所占內(nèi)存的百分比
2,top 后 在shift + p 所占進(jìn)程的排序顯示
3,top 后 在shift + m 所占內(nèi)存的排序顯示
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11981 root 34 19 276m 43m 1452 S 0 1.1 64:22.57 yum-updatesd
2601 apacheus 15 0 413m 37m 5376 S 0 1.0 0:00.76 httpd
18833 apacheus 15 0 415m 36m 5908 S 0 0.9 0:01.49 httpd
18832 apacheus 15 0 415m 35m 5804 S 0 0.9 0:02.19 httpd
22881 apacheus 15 0 415m 35m 5924 S 0 0.9 0:01.62 httpd
4,vmstat 2 每隔2秒查看一下內(nèi)存,交換分區(qū),i/o,cpu的使用情況
[root@tank ~]# vmstat 2
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 182164 187684 708508 1997704 0 0 1 5 0 0 0 0 100 0 0
1 0 182164 187396 708508 1997708 0 0 0 36 1020 2203 0 0 99 0 0
0 0 182164 187708 708508 1997712 0 0 0 114 1056 2367 1 0 99 0 0
memory下的參數(shù)說(shuō)明:
swpd:
已用的交換空間數(shù)量
free: 空閑內(nèi)存數(shù)量
buff:
緩沖使用的內(nèi)存數(shù)量
cache: 文件系統(tǒng)緩存使用的內(nèi)存數(shù)量
swap交換分區(qū)下的參數(shù)說(shuō)明:
si:
從磁盤(pán)轉(zhuǎn)換到內(nèi)存的數(shù)量
so: 從內(nèi)存轉(zhuǎn)換到磁盤(pán)的數(shù)量
i/o磁盤(pán)i/o下的參數(shù)說(shuō)明:
bi:
從塊設(shè)備讀的數(shù)量
bo: 寫(xiě)塊設(shè)備的數(shù)量
cpu下的一些參數(shù)說(shuō)明:
us:
用戶方式下所占CPU工作時(shí)間的百分比
sy:
內(nèi)核進(jìn)程所占cpu工作時(shí)間的百分比
id: cpu處在空閑狀態(tài)下的時(shí)間百分比
wa:
等待I/O所占用CPU工作時(shí)間的百分比
上面?zhèn)€人覺(jué)得比較重要的參數(shù)說(shuō)明
5,df 查看磁盤(pán)的使用情況
[root@tank ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 39674192 7252020 30374288 20% /
/dev/sda3 49594196 8586164 38448076 19% /usr
/dev/sda4 59515556 6405700 50037828 12% /var
1K-blocks 總的磁盤(pán)大小
used
表示已使用了多少
available 表示還有多少空間可用
use%
磁盤(pán)的使用率
6,mpstat和sar查看cpu的運(yùn)行情況,這二個(gè)差不多
[root@tank ~]# mpstat
11:38:39 AM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
11:38:39 AM all 0.11 0.01 0.05 0.13 0.00 0.01 0.00 99.68 84.51
%user
用戶所占的CPU時(shí)間百分比
%nice
nice值為負(fù)進(jìn)程的CPU時(shí)間百分比
%sys
系統(tǒng)內(nèi)核所占cpu時(shí)間的百分比
%iowait
i/o等待所占cpu時(shí)間的百分比
%idle
cpu閑置時(shí)間的百分比
intr/s 每秒cpu的中斷次數(shù)
7,free -m來(lái)查看內(nèi)存,交換分區(qū)使用情況,如果不加-m的話,最小單位是KB
[root@tank ~]# free -m
total used free shared buffers cached
Mem: 3823 3647 175 0 703 1945
-/+ buffers/cache: 998 2825
Swap: 24003 177 23825
total
表時(shí)總量是多少
used
已經(jīng)使用了多少
free
還有多少空閑
shared
共享是多少
buffers
緩沖是多少
cached 緩存了多少
8,iostat查看磁盤(pán)i/o情況
[root@krlcgcms01 ~]# iostat -x 2
Linux 2.6.18-92.1.10.el5 (krlcgcms01) 12/10/2010
avg-cpu: %user %nice %system %iowait %steal %idle
0.11 0.01 0.06 0.13 0.00 99.68
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
cciss/c0d0 0.21 7.78 0.44 3.00 12.13 86.31 28.63 0.03 7.68 3.39 1.17
rrqm/s: 每秒進(jìn)行 merge 的讀操作數(shù)目。即 delta(rmerge)/s
wrqm/s:
每秒進(jìn)行 merge 的寫(xiě)操作數(shù)目。即 delta(wmerge)/s
r/s: 每秒完成的讀 I/O
設(shè)備次數(shù)。即 delta(rio)/s
w/s: 每秒完成的寫(xiě) I/O 設(shè)備次數(shù)。即
delta(wio)/s
rsec/s: 每秒讀扇區(qū)數(shù)。即 delta(rsect)/s
wsec/s:
每秒寫(xiě)扇區(qū)數(shù)。即 delta(wsect)/s
rkB/s: 每秒讀K字節(jié)數(shù)。是 rsect/s
的一半,因?yàn)槊可葏^(qū)大小為512字節(jié)。(需要計(jì)算)
wkB/s: 每秒寫(xiě)K字節(jié)數(shù)。是 wsect/s
的一半。(需要計(jì)算)
avgrq-sz: 平均每次設(shè)備I/O操作的數(shù)據(jù)大小
(扇區(qū))。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O隊(duì)列長(zhǎng)度。即
delta(aveq)/s/1000 (因?yàn)閍veq的單位為毫秒)。
await: 平均每次設(shè)備I/O操作的等待時(shí)間 (毫秒)。即
delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次設(shè)備I/O操作的服務(wù)時(shí)間 (毫秒)。即
delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的時(shí)間用于 I/O
操作,或者說(shuō)一秒中有多少時(shí)間 I/O 隊(duì)列是非空的。即 delta(use)/s/1000 (因?yàn)閡se的單位為毫秒)