linux 如何查看io锁,iostat查看io情况(监控Linux的8种方式)

查看TPS和吞吐量信息

[[email protected] ~]#iostat -d -k 1 10

Device:         tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

sda              19.00         0.00       112.00          0        112

sda1              0.00         0.00         0.00          0          0

sda2              0.00         0.00         0.00          0          0

sda3              0.00         0.00         0.00          0          0

sda4              0.00         0.00         0.00          0          0

sda5              3.00         0.00        16.00          0         16

sda6              0.00         0.00         0.00          0          0

sda7            16.00         0.00        96.00          0       96

tps:该设备每秒的传输次数,一次传输的意思是“一次I/O请求”

kB_read/s:每秒从设备读取的数据量

kB_wrtn/s :每秒向设备写入的数据量

kB_read :读取的总数据量

kB_wrtn :写入的总数量数据量

使用-x获得更多信息

查看设备使用率(%util)、响应时间(await)

[[email protected] ~]#iostat -d -x  -k 1 10

Device:         rrqm/s   wrqm/s   r/s   w/s      rkB/s    wkB/s   avgrq-sz avgqu-sz   await  svctm  %util

sda               0.00       22.00  0.00 18.00     0.00   160.00    17.78     0.07         3.78   3.78   6.80

sda1              0.00       0.00   0.00  0.00      0.00     0.00     0.00        0.00         0.00   0.00   0.00

sda2              0.00       0.00   0.00  0.00      0.00     0.00     0.00        0.00         0.00   0.00   0.00

sda3              0.00      15.00  0.00  2.00      0.00    68.00    68.00      0.01         6.50   6.50   1.30

sda4              0.00       0.00   0.00  0.00      0.00     0.00     0.00        0.00         0.00   0.00   0.00

sda5              0.00       0.00   0.00   0.00     0.00     0.00     0.00        0.00         0.00   0.00   0.00

sda6              0.00       0.00   0.00  0.00      0.00     0.00     0.00        0.00         0.00   0.00   0.00

sda7              0.00      7.00  0.00 16.00     0.00    92.00    11.50     0.06        3.44   3.44   5.50

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

(如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈.

%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

)

部署一个程序时(我测试的是一个实时上传日志的程序),对系统的cpu、内存、io等都要有所考虑,保证系统高效的运行。

如果程序本身处理的包特别小,事件很多,压力大且没有间隔的话,占用CPU的资源会很多

如果用磁盘缓存,不用内存缓存的话,能够支持断点重传,保证数据的可靠性上传,如突然断电等情况,存入磁盘缓存的数据等到恢复后会依然上传,而不会丢失,但是相对的也会增加读写磁盘的次数,如果数据量比较小,速度还是可以忍受的。

####################################################################################

http://blog.csdn.net/avilifans/article/details/12002019

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值