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-o0
d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s51Testing软件测试网 g3tv5d0z
q :没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行
G:RD)u `%c%U0
c :切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S :累积模式,会将己完成或消失的子行程( dead child process )的CPU time累积起来
'Y'Q|9}\#YR0
s :安全模式,将交谈式指令取消,避免潜在的危机
"E"Po"w b"N6b$H[j0
i :不显示任何闲置(idle)或无用(zombie)的行程
7Svc*o2N)_/X/@I0
n :更新的次数,完成后将会退出top
2DvX&gG\f0
b :批次档模式,搭配"n"参数一起使用,可以用来将top的结果输出到档案内51Testing软件测试网[wz.g{Sc/J
Y`%Lb] K(k5j'l$I0
范例:51Testing软件测试网 p6b'UXoM7wk%V
显示更新十次后退出;
M A Z0@0\I%D0
top -n 10
8p7RV*Wq7o0
51Testing软件测试网0WM9W,?d LH$P
使用者将不能利用交谈式指令来对行程下命令:
4~-X0VI$Hi.Zg"Wp0
top -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%{0
1.对于每一个CPU来说运行队列不要超过3,例如,如果是双核CPU就不要超过6;
c e3S#r3pMg,^0
2.如果CPU在满负荷运行,应该符合下列分布,51Testing软件测试网;d5d v~"`|
a) User Time:65%~70%51Testing软件测试网1AS2_;eZ:P&p
b) System Time:30%~35%
&@*xzc$Te4_Kl0
c) Idle:0%~5%
t#DHF4\#r:~,c$Qn^0
3. mpstat51Testing软件测试网*L} Mz:d;u6D5w{s
对于上下文切换要结合CPU使用率来看,如果CPU使用满足上述分布,大量的上下文切换也是可以接受的。51Testing软件测试网` ^;kx%M?
常用的监视工具有:vmstat, top,dstat和mpstat.
h%t Q[$G:T0
# vmstat 1
3@i5Vm)O0
procs -----------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"T0
0 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!^osj5m0
r表示运行队列的大小,51Testing软件测试网"~3m9{b9F\;P
b表示由于IO等待而block的线程数量,
6DV#V!h)]7^"A0
in表示中断的数量,
l["xGK(w{C.t0
cs表示上下文切换的数量,
U{)o0r7CVay}-m0
us表示用户CPU时间,51Testing软件测试网P*oI(w7w1Vl9g
sys表示系统CPU时间,51Testing软件测试网p&J{ZF$i1X4qB-e
wa表示由于IO等待而是CPU处于idle状态的时间,
WA0\ _Av5j8Jq0
id表示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 a0
usr 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 t0
0: 1277238713 IO-APIC-edge timer
3Wd&xD3_@7Cpb0
6: 5 IO-APIC-edge floppy51Testing软件测试网0Lg*Jb:@4NM1a(~C3n
7: 0 IO-APIC-edge parport0
/z(i4lMKw4J;f0
8: 1 IO-APIC-edge rtc51Testing软件测试网;Je0uJK3p1a&S(M
9: 1 IO-APIC-level acpi
yukoWti0
14: 6011913 IO-APIC-edge ide051Testing软件测试网:C3Y:Ps:m0O
15: 15761438 IO-APIC-edge ide1
p&w2tpR pc4?x0
169: 26 IO-APIC-level Intel 82801BA-ICH2
r$m(T0we5J0
185: 16785489 IO-APIC-level eth1
'pn)~M/B m [/x0
193: 0 IO-APIC-level uhci_hcd:usb1
o'E7^WWV5W3[2Aj0
mpstat可以显示每个CPU的运行状况,比如系统有4个CPU。我们可以看到:
5j4epxE#Z7G0
# mpstat –P ALL 1
t wXr5`0
Linux 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_5x2su0
05:17:32 PM 1 1.12 0.00 12.73 86.15 13.27
5Tw}"V.a Yg5Va0
05: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@G0
CPU Bound进程总是会被惩罚(降低优先级)而IO Bound进程总会被奖励(提高优先级)。
K6Y$R|2Lu4{0
51Testing软件测试网 XC2w1UEx;O6OT T
4.prstat命令51Testing软件测试网 { L o0Tp,~4U!O
要显示系统上当前运行的进程和项目的各种统计信息,请使用带有-J选项的prstat命令:51Testing软件测试网UrS{"f8WP4e#R.]
|
要显示系统上当前运行的进程和任务的各种统计信息,请使用带有-T选项的prstat命令:
]+B"n@HP_.C0
|
注–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
六、也可以使用 应用程序>系统工具>磁盘使用分析器 来查看磁盘使用情况。