linux cpu intr s,linux下查看系统资源(iostat,top,vmstat,mpstat等)

为什么我们要查看系统资源呢?

维护服务器的时候,要经常查看系统资源的,可以了解一下服务器的运行情况。系统优化时,比如使用memcache时,我要决定分配多少内存给他合适呢,mysql的innodb的参数优化也要考虑到内存使用率,i/o的频繁程度啊,如果使用apache的话,要启动多少个httpd比较合适呢,如果数据库的数据太大,我要看看是不是增加磁盘呢等等,这个时候,我们要知道,有多少资源可用,才能更好的优化我们的系统。

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           进程所占cpu时间的百分比

%mem         进程所占内存的百分比

2,top 后 在shift + p 所占进程的排序显示

3,top 后 在shift + m 所占内存的排序显示

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秒查看一下内存,交换分区,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下的参数说明:

swpd:               已用的交换空间数量

free:                 空闲内存数量

buff:                 缓冲使用的内存数量

cache:   文件系统缓存使用的内存数量

swap交换分区下的参数说明:

si:                   从磁盘转换到内存的数量

so:                  从内存转换到磁盘的数量

i/o磁盘i/o下的参数说明:

bi:                  从块设备读的数量

bo:                 写块设备的数量

cpu下的一些参数说明:

us:                用户方式下所占CPU工作时间的百分比

sy:                内核进程所占cpu工作时间的百分比

id:                 cpu处在空闲状态下的时间百分比

wa:               等待I/O所占用CPU工作时间的百分比

上面个人觉得比较重要的参数说明

5,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%                         磁盘的使用率

6,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的中断次数

7,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                              缓存了多少

8,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的单位为毫秒)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值