首页 > 解决方案 > 在 Linux 中计算命令的 IOPS

问题描述

我想计算IOsLinux 中某个命令的消耗量。例如,如果我运行“ls”命令,我应该IOs被它消耗掉

我已经尝试过这里提供的帮助:

如何在 linux 中测量命令的 IOPS?

但是,我无法IO通过命令执行实际操作。我想我得到的是命令执行所花费的时间。

请帮助解决同样的问题。

标签: linuxshellio

解决方案


应用程序在从文件或块设备读取/写入数据时执行系统调用(例如,pread/pwrite)。有时这些系统调用会导致存储设备级别的实际 IO,有时不会。对于读取,请求的数据可以从页面缓存中提供。对于写入,可以将数据写入 DRAM,然后异步刷新到存储设备。

您可以使用 strace 查看应用程序的系统调用。例如,要跟踪与 IO 相关的系统调用,strace -f -e file ls应该打印所有与文件描述符相关的系统调用。您可以将输出重定向到文件并稍后处理。

使用 iostat,例如iostat -d 1 -k -x,查看存储设备正在查看多少 IO。


推荐阅读