那么,我们应该阅读什么样的价值来获得每个进程每秒进出的操作呢?
我试过/ proc / [pid] / io,它返回这些值:
root @ node:〜#cat / proc / 31597 / io
rchar:213260190
wchar:462308212
syscr:23275044
syscw:47797624
read_bytes:894867968
write_bytes:27645691392
cancelled_write_bytes:0
来自定义:
syscr,syscw – I / O操作数(分别为读和写)的计数器。 我们可以使用它来计算在一个系统调用中传递的平均数据量。
所以,我认为 syscw的最后一个值减去syscw的前一个值之后应该给我已经由进程31597执行的写操作计数
但是,当进程的写入速度大约为5MB / sec(小文件)时,写入的值为6500 IOPS,这对我来说不正确。
有任何想法吗?
iotop可以是你正在寻找的程序。 这是顶部,但I / O。
您需要2.6.20或更高版本的内核和root权限。