首页 > 代码库 > Linux下使用top/vmstat查看系统资源
Linux下使用top/vmstat查看系统资源
vmstat 命令是常见的Linux性能监控工具,报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。
vmstat使用
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数。
top使用
区别top命令
top命令用于显示系统当前的进程和其他状况;top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果再前台执行该命令,它将独占前台,直到用户终止该程序为止。
其他相关命令
df 查看磁盘的使用情况
[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 总的磁盘大小
used 表示已使用了多少
available 表示还有多少空间可用
use% 磁盘的使用率
mpstat和sar查看cpu的运行情况,功能类似
[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时间百分比
%nice nice值为负进程的CPU时间百分比
%sys 系统内核所占cpu时间的百分比
%iowait i/o等待所占cpu时间的百分比
%idle cpu闲置时间的百分比
intr/s 每秒cpu的中断次数
free -m来查看内存,交换分区使用情况,如果不加-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 表时总量是多少
used 已经使用了多少
free 还有多少空闲
shared 共享是多少
buffers 缓冲是多少
cached 缓存了多少
iostat查看磁盘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: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)