Chinaunix首页 | 论坛 | 博客
  • 博客访问: 59479
  • 博文数量: 8
  • 博客积分: 294
  • 博客等级: 二等列兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-17 10:18
文章分类
文章存档

2012年(8)

我的朋友

分类: LINUX

2012-05-07 12:53:28

1. sar

sar可以用来监控系统的cpu, io, network, interupt, memeroy,以及进程cpu的信息。常用选项:

sar –u(cpu) –r(memeroy) –W(swap) –n(network) –I(interupt) –b(io) -d(device) 1(interval) 20(count)


2. top

实时的系统性能监控工具

可以动态查看系统的cpu, memeroy,以及各个进程的资源信息


3. iostat

iostat –x 1

cpu列中iowait是指cpu空闲而io队列非空的处理器时间比例

device中的util是指io队列非空的处理器时间比例。%util >= %iowait

device列中各行的具体含义:

rrqm/s wrqm/s 是每秒钟进行merge的读写次数,就是逻辑上的readwrite次数

r/s w/smerge后对物理设备的读写次数,是真正执行的readwrite次数

rsec/s wsec/s是读写设备的扇区数,注意write操作可能也会需要读设备扇区,是真实的物理操作

rkB/s wkB/s是读写设备的K字节数。rkB/s = rsec/s / 2, wkB/s = wsec/s / 2

avgrq-sz是平均每次merge后的IO操作的数据扇区大小。

       avgrq-sz = (rsec/s + wsec/s) / (r/s + w/s)

avgqu-sz是平均IO队列长度。可以反映系统IO负载,不能反映瞬间的IO洪水。

await是平均每次IO操作的耗时,包括在队列中的等待时间和真正的操作时间。

svctm是平均每次IO操作的真正操作耗时,svctm一般和磁盘的性能相关,cpu/内存等也会有间接影响;await主要由svctm和请求队列长度决定。svctm <= await

通过awaitsvctm的差值(即队列中等待时间)可以一定程度的反映IO洪水。因为IO洪水,导致IO请求等待时间很长,awaitsvctm的差值较大,这个时间点IO队列也长,而平均到统计周期中IO队列可能很短。

       await = delta(ruse + wuse) / delta(io) //await 单位ms

       delta(io) = r/s + w/s

       每秒钟的平均队列长度 = 总等待时间ms / 1000

=>  delta(ruse + wuse) = await * (r/s + w/s)

=>  avgqu-sz = await * (r/s + w/s) / 1000

 

4. vmstat

vm类似于sar 但是不能监控网络信息,可以监控cpumemeroy,中断,上下文切换等系统信息。可以看到有效内存和无效内存的信息,slab信息。不过可读性不好。


综上所述:观察cpu,memeroy信息使用topio使用iostat,网络信息使用sar –n DEV

中断等其他信息使用sarvmstat只在分析虚拟内存细节时使用。监控时不仅仅使用一种方案,可以多种方案互相参考,比如io可以使用iostat –x sar –d 一起使用

阅读(4195) | 评论(0) | 转发(1) |
0

上一篇:没有了

下一篇:listen函数的监听队列长度参数

给主人留下些什么吧!~~