是否可以使用 iostat(或其他工具)来获取“自上次服务器重启以来”的读/写操作次数?
我的意思是:我需要知道服务器自上次启动以来完成了多少次读/写,而不是实时的。
谢谢!
答案1
有关数据量,请参阅iostat
:
[root@example ~]# iostat -m
Linux 2.6.32-431.11.2.el6.x86_64 (example.com) 08/08/2014 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.38 0.00 4.10 0.36 0.10 95.07
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 0.95 0.01 0.01 68451 77290
vda 13.95 0.26 0.33 2871276 3572093
dm-0 1.93 0.01 0.01 64657 73426
dm-1 14.39 0.26 0.33 2871274 3572093
-m
将以 MiB(而不是块)为单位显示输出,并且MB_read
是MB_wrtn
您正在寻找的数字。
对于 I/O 操作(请求)的总量,请参见/sys/block/$DEV/$PART/stat
,例如/sys/block/sda/sda1/stat
或/proc/diskstats
,其解释如下(这是来自内核文档树):
What: /proc/diskstats
Date: February 2008
Contact: Jerome Marchand <[email protected]>
Description:
The /proc/diskstats file displays the I/O statistics
of block devices. Each line contains the following 14
fields:
1 - major number
2 - minor mumber
3 - device name
4 - reads completed successfully
5 - reads merged
6 - sectors read
7 - time spent reading (ms)
8 - writes completed
9 - writes merged
10 - sectors written
11 - time spent writing (ms)
12 - I/Os currently in progress
13 - time spent doing I/Os (ms)
14 - weighted time spent doing I/Os (ms)
For more details refer to Documentation/iostats.txt