linux 查看cpu和磁盘使用情况
?http://www.51testing.com/?uid-139579-action-viewspace-itemid-142106
http://www.51testing.com/?uid-139579-action-viewspace-itemid-142106
查看( 1440 ) / 評論( 0 ) / 評分( 0 / 0 )1.top51Testing軟件測試網brw1|0}+a4y?
使用權限:所有使用者
&hwO*z-@(A(\7a.d*NP$\0使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
SD,t&^Pw&\W0[;S,z%b0說明:即時顯示process的動態
-K!JOKx}vT-o0d :改變顯示的更新速度,或是在交談式指令列( interactive command)按s51Testing軟件測試網 g3tv5d0z
q :沒有任何延遲的顯示速度,如果使用者是有superuser的權限,則top將會以最高的優先序執行
G:RD)u `%c%U0c :切換顯示模式,共有兩種模式,一是只顯示執行檔的名稱,另一種是顯示完整的路徑與名稱S :累積模式,會將己完成或消失的子行程( dead child process )的CPU time累積起來
'Y'Q|9}\#YR0s :安全模式,將交談式指令取消,避免潛在的危機
"E"Po"w b"N6b$H[j0i :不顯示任何閑置(idle)或無用(zombie)的行程
7Svc*o2N)_/X/@I0n :更新的次數,完成后將會退出top
2DvX&gG\f0b :批次檔模式,搭配"n"參數一起使用,可以用來將top的結果輸出到檔案內51Testing軟件測試網[wz.g{Sc/J
?
Y`%Lb] K(k5j'l$I0范例:51Testing軟件測試網 p6b'UXoM7wk%V
顯示更新十次后退出;
M A Z0@0\I%D0top -n 10
8p7RV*Wq7o0?51Testing軟件測試網0WM9W,?d LH$P
使用者將不能利用交談式指令來對行程下命令:
4~-X0VI$Hi.Zg"Wp0top -s51Testing軟件測試網6A^I,~@K
?
GP)^%GG^#WL9PU0將更新顯示二次的結果輸入到名稱為top.log的檔案里:51Testing軟件測試網,sL:[S)Qr/K9E U od
top -n 2 -b < top.log???
e P ar'M;_ cq0另附一個命令簡介linux traceroutewindows tracert兩個命令相當,跟蹤網絡路由51Testing軟件測試網+?q/}'k+w
?51Testing軟件測試網%[e O NzD _
2.vmstat
-C0@6h _$zv$|6r0正如我們之前討論的任何系統的性能比較都是基于基線的,并且監控CPU的性能就是以上3點,運行隊列、CPU使用率和上下文切換。以下是一些對于CPU很普遍的性能要求:
CMW?"MB%{01.對于每一個CPU來說運行隊列不要超過3,例如,如果是雙核CPU就不要超過6;
c e3S#r3pMg,^02.如果CPU在滿負荷運行,應該符合下列分布,51Testing軟件測試網;d5d v~"`|
a) User Time:65%~70%51Testing軟件測試網1AS2_;eZ:P&p
b) System Time:30%~35%
&@*xzc$Te4_Kl0c) Idle:0%~5%
t#DHF4\#r:~,c$Qn^03. mpstat51Testing軟件測試網*L} Mz:d;u6D5w{s
對于上下文切換要結合CPU使用率來看,如果CPU使用滿足上述分布,大量的上下文切換也是可以接受的。51Testing軟件測試網` ^;kx%M?
常用的監視工具有:vmstat, top,dstat和mpstat.
h%t Q[$G:T0# vmstat 1
3@i5Vm)O0procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----51Testing軟件測試網$ts6H'W Q;j
r b swpd free buff cache si so bi bo in cs us sy id wa51Testing軟件測試網2Ncju)E
0 0 104300 16800 95328 72200 0 0 5 26 7 14 4 1 95 0
,jpg"y(zAy"T00 0 104300 16800 95328 72200 0 0 0 24 1021 64 1 1 98 051Testing軟件測試網 u6VI7b5m:l
0 0 104300 16800 95328 72200 0 0 0 0 1009 59 1 1 98 0
6b!^osj5m0r表示運行隊列的大小,51Testing軟件測試網"~3m9{b9F\;P
b表示由于IO等待而block的線程數量,
6DV#V!h)]7^"A0in表示中斷的數量,
l["xGK(w{C.t0cs表示上下文切換的數量,
U{)o0r7CVay}-m0us表示用戶CPU時間,51Testing軟件測試網P*oI(w7w1Vl9g
sys表示系統CPU時間,51Testing軟件測試網p&J{ZF$i1X4qB-e
wa表示由于IO等待而是CPU處于idle狀態的時間,
WA0\ _Av5j8Jq0id表示CPU處于idle狀態的總時間。51Testing軟件測試網O4Oj:T+Z8cf4C["L
dstat可以給出每一個設備產生的中斷數:51Testing軟件測試網"cc3L v`1T'n
# dstat -cip 1
iP'?_Rvg0----total-cpu-usage---- ----interrupts--- ---procs---
2k hQ%q6xx a0usr sys idl wai hiq siq| 15 169 185 |run blk new51Testing軟件測試網s8I"f4Hp
6 1 91 2 0 0| 12 0 13??| 0 0 051Testing軟件測試網0YR0bG ]yT
1 0 99 0 0 0| 0????0??6 | 0 0 051Testing軟件測試網K+Z'G jr/O)@Kr XIv
0 0 100 0 0 0| 18 0??2 | 0 0 051Testing軟件測試網-|s5Oh6B/d
0 0 100 0 0 0| 0????0??3 | 0 0 0
^ v}L.W#g$E(D0我們可以看到這里有3個設備號15,169和185.設備名和設備號的關系我們可以參考文件/proc/interrupts,這里185代表網卡eth1.51Testing軟件測試網.{Y5xg y
# cat /proc/interrupts51Testing軟件測試網 Ror)_%t+O-k
CPU0
Yg"m7H t00: 1277238713 IO-APIC-edge timer
3Wd&xD3_@7Cpb06: 5 IO-APIC-edge floppy51Testing軟件測試網0Lg*Jb:@4NM1a(~C3n
7: 0 IO-APIC-edge parport0
/z(i4lMKw4J;f08: 1 IO-APIC-edge rtc51Testing軟件測試網;Je0uJK3p1a&S(M
9: 1 IO-APIC-level acpi
yukoWti014: 6011913 IO-APIC-edge ide051Testing軟件測試網:C3Y:Ps:m0O
15: 15761438 IO-APIC-edge ide1
p&w2tpR pc4?x0169: 26 IO-APIC-level Intel 82801BA-ICH2
r$m(T0we5J0185: 16785489 IO-APIC-level eth1
'pn)~M/B m [/x0193: 0 IO-APIC-level uhci_hcd:usb1
o'E7^WWV5W3[2Aj0mpstat可以顯示每個CPU的運行狀況,比如系統有4個CPU。我們可以看到:
5j4epxE#Z7G0# mpstat –P ALL 1
t wXr5`0Linux 2.4.21-20.ELsmp (localhost.localdomain) 05/23/200651Testing軟件測試網M8u@B D
05:17:31 PM CPU %user %nice %system %idle intr/s51Testing軟件測試網q;SgSy6C"m+AJ
05:17:32 PM all 0.00 0.00 3.19 96.53 13.2751Testing軟件測試網;tQ5U^'~"F
05:17:32 PM 0 0.00 0.00 0.00 100.00 0.00
6VCZ e2_5x2su005:17:32 PM 1 1.12 0.00 12.73 86.15 13.27
5Tw}"V.a Yg5Va005:17:32 PM 2 0.00 0.00 0.00 100.00 0.0051Testing軟件測試網-@(d!c SdY
05:17:32 PM 3 0.00 0.00 0.00 100.00 0.0051Testing軟件測試網W!ABk~
總結的說,CPU性能監控包含以下方面:
u%M9Djb0檢查系統的運行隊列,確保每一個CPU的運行隊列不大于3.
2mW!J(X!Nb J+~-}0確保CPU使用分布滿足70/30原則(用戶70%,系統30%)。
5O-o qH(^D9On`0如果系統時間過長,可能是因為頻繁的調度和改變優先級。
y8au&RaG/B@G0CPU Bound進程總是會被懲罰(降低優先級)而IO Bound進程總會被獎勵(提高優先級)。
K6Y$R|2Lu4{0?51Testing軟件測試網 XC2w1UEx;O6OT T
4.prstat命令51Testing軟件測試網 { L o0Tp,~4U!O
要顯示系統上當前運行的進程和項目的各種統計信息,請使用帶有-J選項的prstat命令:51Testing軟件測試網UrS{"f8WP4e#R.]
| ? j/lu9xm8H0DD G0%prstat -J51Testing軟件測試網|[*b{ q@ ????????PID USERNAME?SIZE??RSS STATE?PRI NICE?????TIME?CPU PROCESS/NLWP51Testing軟件測試網1\4J"^(g` ?21634 jtd?????5512K 4848K cpu0???44???0??0:00.00 0.3% prstat/1 3f-MMm9i2d+g0??324 root??????29M??75M sleep??59???0??0:08.27 0.2% Xsun/151Testing軟件測試網!{Lo F#L9dhq#N ?15497 jtd???????48M??41M sleep??49???0??0:08.26 0.1% adeptedit/1 #HczSZ'f |]6Dd0??328 root????2856K 2600K sleep??58???0??0:00.00 0.0% mibiisa/11 BN@Ps)N$F0?1979 jtd?????1568K 1352K sleep??49???0??0:00.00 0.0% csh/1 $@'Z&[c ~z0?1977 jtd?????7256K 5512K sleep??49???0??0:00.00 0.0% dtterm/1 _5f1?P]!eg:xo0??192 root????3680K 2856K sleep??58???0??0:00.36 0.0% automountd/5 Wg8Pw9T {H4Q3_z0I0?1845 jtd???????24M??22M sleep??49???0??0:00.29 0.0% dtmail/11 7b(Z)W0z$E Rn"mV XA0?1009 jtd?????9864K 8384K sleep??49???0??0:00.59 0.0% dtwm/8 f%y6g"d!`;i0??114 root????1640K?704K sleep??58???0??0:01.16 0.0% in.routed/151Testing軟件測試網MI5QY4U2ZFq#J ??180 daemon??2704K 1944K sleep??58???0??0:00.00 0.0% statd/451Testing軟件測試網X\ Lq&Iug(z ??145 root????2120K 1520K sleep??58???0??0:00.00 0.0% ypbind/1 V1d@-J6V)p0??181 root????1864K 1336K sleep??51???0??0:00.00 0.0% lockd/1 r c0U iqP1j#K3o0??173 root????2584K 2136K sleep??58???0??0:00.00 0.0% inetd/151Testing軟件測試網1t4Nh'~Ukd ??135 root????2960K 1424K sleep???0???0??0:00.00 0.0% keyserv/451Testing軟件測試網sb8U%j.U:Z1{x PROJID???NPROC?SIZE??RSS MEMORY?????TIME?CPU PROJECT .E.e~a| R+V0???10??????52?400M?271M???68%??0:11.45 0.4% booksite W p H QT JG0????0??????35?113M?129M???32%??0:10.46 0.2% system #v%f Zd2lu T.ju0? 0ux&M!TprE0Total: 87 processes, 205 lwps, load averages: 0.05, 0.02, 0.02 !ytY\1gw1a/lAK0 |
要顯示系統上當前運行的進程和任務的各種統計信息,請使用帶有-T選項的prstat命令:
]+B"n@HP_.C0| ? e,lF8ClAqQ0%prstat -T HN2j,d[6Z2pg0??PID USERNAME?SIZE??RSS STATE?PRI NICE?????TIME?CPU PROCESS/NLWP51Testing軟件測試網)FYK*xA;h y.|X4\s ?23023 root??????26M??20M sleep??59???0??0:03:18 0.6% Xsun/151Testing軟件測試網 }w:NV#Ye.}5~ ?23476 jtd???????51M??45M sleep??49???0??0:04:31 0.5% adeptedit/1 Z7guV$J5@ Y+^e-J)m0?23432 jtd?????6928K 5064K sleep??59???0??0:00:00 0.1% dtterm/1 ,~ AM g1sF_0?28959 jtd???????26M??18M sleep??49???0??0:00:18 0.0% .netscape.bin/151Testing軟件測試網'i*CS1H:p ] ?23116 jtd?????9232K 8104K sleep??59???0??0:00:27 0.0% dtwm/5 4FUU*fVNi2fK0?29010 jtd?????5144K 4664K cpu0???59???0??0:00:00 0.0% prstat/1 H a(h8i/X T0??200 root????3096K 1024K sleep??59???0??0:00:00 0.0% lpsched/151Testing軟件測試網e @y6kUf ??161 root????2120K 1600K sleep??59???0??0:00:00 0.0% lockd/2 p7P2ve7F0??170 root????5888K 4248K sleep??59???0??0:03:10 0.0% automountd/351Testing軟件測試網v$W3N U5ty ??132 root????2120K 1408K sleep??59???0??0:00:00 0.0% ypbind/1 tS}/CDsT:b#l0??162 daemon??2504K 1936K sleep??59???0??0:00:00 0.0% statd/2 &bN!Ht~^ is0??146 root????2560K 2008K sleep??59???0??0:00:00 0.0% inetd/151Testing軟件測試網h'N&\ T(F!VJ?m ??122 root????2336K 1264K sleep??59???0??0:00:00 0.0% keyserv/251Testing軟件測試網@,YhH,Zr1DM4s;K ??119 root????2336K 1496K sleep??59???0??0:00:02 0.0% rpcbind/151Testing軟件測試網Ovc s*M\8J+[ ??104 root????1664K?672K sleep??59???0??0:00:03 0.0% in.rdisc/151Testing軟件測試網^!L,ZH3N6^ TASKID???NPROC?SIZE??RSS MEMORY?????TIME?CPU PROJECT???????????????????? phT LR^TkC0??222??????30?229M?161M???44%??0:05:54 0.6% group.staff????????????????51Testing軟件測試網GGCb q:w ??223???????1??26M??20M??5.3%??0:03:18 0.6% group.staff???????????????? (Xyi U%D T m#]0???12???????1??61M??33M??8.9%??0:00:31 0.0% group.staff????????????????51Testing軟件測試網8m-G;rs)Jb` ????1??????33??85M??53M???14%??0:03:33 0.0% system????????????????????? DX_8Xc0?51Testing軟件測試網 xxtk _xD&| Total: 65 processes, 154 lwps, load averages: 0.04, 0.05, 0.06?????? 'Uhc u)Q8}a0 |
注–51Testing軟件測試網|F9L oL+c
-J和-T選項不能一起使用。
======== linux查看硬盤使用情況命令 一、df?-lh?命令df?是來自于coreutils?軟件包,系統安裝時,就自帶的;我們通過這個命令可以查看磁盤的使用情況以及文件系統被掛載的位置;
[root@localhost?~]#?df?-l
文件系統?????????????????容量???????已用???????可用????已用%?掛載點
/dev/sda3??????????????4956316???3565088???1135396?76%?/
tmpfs???????????????????241320?????????12????241308???1%???/dev/shm
/dev/sda6??????????????4806904???2523708???2039012?56%?/media/disk
/dev/sda1??????????????4956284???3529796???1170656?76%?/media/_
/dev/sda5??????????????4845056???2581484???2019388?57%?/media/disk-1
可以看到系統掛在sda3上,另外還掛了sda6/sda1/sda5三個系統。
二、fdisk?-l?命令
fdisk?是一款強大的磁盤操作工具,來自util-linux軟件包,我們在這里只說他如何查看磁盤分區表及分區結構;通過-l?參數,能獲得機器中所有的硬盤的分區情況;
[root@localhost?~]#?fdisk?-l
Disk?/dev/sda:?40.0?GB,?40000000000?bytes
255?heads,?63?sectors/track,?4863?cylinders
Units?=?cylinders?of?16065?*?512?=?8225280?bytes
Disk?identifier:?0x62a9f8d0
???Device?Boot??????Start?????????End??????Blocks???Id?System
/dev/sda1???*???????????1?????????637?????5116671???83?Linux
/dev/sda2?????????????638?????????891?????2040255???82?Linux?swap?/?Solaris
/dev/sda3?????????????892????????1528?????5116702+?83?Linux
/dev/sda4????????????1529????????2744?????9767520????5?Extended
/dev/sda5????????????1529????????2136?????4883728+?83?Linux
/dev/sda6????????????2137????????2744?????4883728+?83?Linux
sda1 是MBR(主引導記錄)所在的分區;sda2是交換分區;sda4是擴展分區,包括了sda5,sda6兩個邏輯分區。系統劃分分區的時候只能劃分4個主分區(擴展分區也算主分區),我在上面分了3個主分區+1個Extended分區,5.6是邏輯分區。所以才會有sda1.2.3.4.5.6。如果你只劃分了1個主分區+1個擴展分區,那么邏輯分區就從sda5開始了,sda1.2.5.6...
三、cfdisk?-Ps命令?(注意P是大寫)
cfdisk?也是一款不錯的分區工具;在有些發行版中,此工具已經從util-linux包中剔除;cfdisk?簡單易用是他的特點;
查看磁盤分區的用法???cfdisk???-Ps?磁盤設備名?只有一個硬盤也可以用?cfdisk?-Ps
例1:[root@localhost?~]#?cfdisk?-Ps
Partition?Table?for?/dev/sda
????????????????First?????????Last
#?Type????????Sector??????Sector???????Offset?????Length??????Filesystem?Type?????????(ID)?Flag
--?-------???-----------?-----------????------???-----------?--------------------??????-------
1?Primary???????????0?????10233404?????63??????10233405?????????Linux?(83)?????????????Boot
2?Primary????10233405????14313914??????0???????4080510???????Linux?swap?/?So?(82)????None
3?Primary????14313915????24547319??????0??????10233405?????????Linux?(83)?????????????None
4?Primary????24547320????44082359??????0??????19535040???????Extended?(05)???????????None
5?Logical????24547320?????34314839?????63???????9767520????????Linux?(83)?????????????None
6?Logical????34314840????44082359?????63???????9767520?????????Linux?(83)?????????????None
???Logical????44082360????78124094??????0??????34041735?????????Free?Space????????????None
例2:[root@localhost?~]#?cfdisk?-Ps?/dev/sda
Partition?Table?for?/dev/sda
???????????????First???????Last
#?Type???????Sector??????Sector???Offset????Length???Filesystem?Type?(ID)?Flag
--?-------?-----------?-----------?------?-----------?--------------------?----
1?Primary???????????0????10233404?????63????10233405?Linux?(83)???????????Boot
2?Primary????10233405????14313914??????0?????4080510?Linux?swap?/?So?(82)?None
3?Primary????14313915????24547319??????0????10233405?Linux?(83)???????????None
4?Primary????24547320????44082359??????0????19535040?Extended?(05)????????None
5?Logical????24547320????34314839?????63?????9767520?Linux?(83)???????????None
6?Logical????34314840????44082359?????63?????9767520?Linux?(83)???????????None
???Logical????44082360????78124094??????0????34041735?Free?Space???????????None
四、parted?命令
parted???功能不錯的分區工具;在Fedora?8中有帶,可以自己安裝上;調用方法簡單,parted?默認是打開的設備是/dev/hda?,也可以自己指定;比如???parted?/dev/hda?或/dev/sda?等;退出的方法是?quit
輸入parted命令后要等會兒才會出現下面的內容:
[root@localhost?~]#?parted
GNU?Parted?1.8.6
使用?/dev/sda
Welcome?to?GNU?Parted!?Type?’help’?to?view?a?list?of?commands.
(parted)?
在光標那里輸入p回車出現下面內容:
Model:?ATA?Maxtor?5T040H4?(scsi)
Disk?/dev/sda:?40.0GB
Sector?size?(logical/physical):?512B/512B
Partition?Table:?msdos
Number?Start?????End?????S?ize?????Type???File?system?????標志
1??????32.3kB???5240MB?5239MB???主分區????ext3??????????啟動
2??????5240MB?7329MB?2089MB?主分區????linux-swap???????
3??????7329MB?12.6GB?5240MB???主分區????ext3?????????????
4??????12.6GB?22.6GB???10.0GB?擴展分區???????????????????
5??????12.6GB?17.6GB???5001MB?邏輯分區???ext3?????????????
6??????17.6GB?22.6GB???5001MB?邏輯分區???ext3?????????????
(parted)?
在光標后面輸入quit退出。
五、sfdisk?-l
[root@localhost?~]#?sfdisk?-l
Disk?/dev/sda:?4863?cylinders,?255?heads,?63?sectors/track
Units?=?cylinders?of?8225280?bytes,?blocks?of?1024?bytes,?counting?from?0
???Device?Boot?Start?????End???#cyls????#blocks???Id?System
/dev/sda1???*??????0+????636?????637-???5116671???83?Linux
/dev/sda2????????637?????890?????254????2040255???82?Linux?swap?/?Solaris
/dev/sda3????????891????1527?????637????5116702+?83?Linux
/dev/sda4???????1528????2743????1216????9767520????5?Extended
/dev/sda5???????1528+???2135?????608-???4883728+?83?Linux
/dev/sda6???????2136+???2743?????608-???4883728+?83?Linux
六、也可以使用???應用程序>系統工具>磁盤使用分析器???來查看磁盤使用情況。
?
原文出處:http://www.01ruodian.com/school/news.asp?id=5708
總結
以上是生活随笔為你收集整理的linux 查看cpu和磁盘使用情况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 贞子的在日本历史出现过的轨迹
- 下一篇: linux 其他常用命令