我正在运行一些使用 CPU、磁盘和网络资源的实验。(顺便说一下,我使用 Cent OS 7)我想测量它的 CPU、磁盘和网络资源使用情况。
我知道的一些工具(dstat、iostat)仅提供一秒作为两次测量之间的最小间隔。
如何在一秒钟内进行多次测量?我用谷歌搜索了很多但找不到。
谢谢
答案1
希望有人可以向您指出一些工具来完成您想做的事情,但如果没有,并且您承诺可以直接从源获取数据。iostat主要只是解析特殊文件,例如/proc/diskstats每当您阅读这些文件时,它们都会更新。我刚刚在阅读的地方做了一个快速测试磁盘统计每秒多次,每次读取时值都会发生变化。
这iostat手册页末尾列出了相关文件:
/proc/stat 包含系统统计信息。
/proc/uptime 包含系统正常运行时间。
/proc/partitions 包含磁盘统计信息(对于已修补的 2.5 之前的内核)。
/proc/diskstats 包含磁盘统计信息(针对 2.5 后的内核)。
/sys 包含块设备的统计信息(2.5 内核后)。
/proc/self/mountstats 包含网络文件系统的统计信息。
/dev/disk 包含持久设备名称。
找到有关这些文件中的字段所代表的内容的信息并不难。例如:
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