我想计算Linux中命令消耗的IOs
。
例如,如果我运行'ls'命令,则应该消耗IOs
。
我已经尝试过这里提供的帮助:
How to measure IOPS for a command in linux?
但是,我无法通过命令执行实际的IO
操作。我想我得到的是命令执行所花的时间。
请提供帮助。
答案 0 :(得分:0)
当从文件或块设备读取/写入数据时,应用程序会执行系统调用(例如pread / pwrite)。有时,这些系统调用会在存储设备级别产生实际的IO,有时却不会。对于读取,可以从页面缓存中提供请求的数据。对于写操作,可以将数据写入DRAM,然后异步刷新到存储设备。
您可以使用strace查看应用程序的系统调用。例如,要跟踪与IO相关的系统调用,应使用strace -f -e file ls
之类的内容来打印所有与文件描述符相关的系统调用。您可以将输出重定向到文件并稍后处理。
使用iostat,例如iostat -d 1 -k -x
,以查看存储设备有多少IO。