如何测量长期内每个文件/程序的磁盘写入量

如何测量长期内每个文件/程序的磁盘写入量

我在一台电脑上安装了 SSD 和硬盘。我使用挂载点和符号链接将写入密集型目录(例如下载)放在硬盘上,以减少 SSD 的磨损。

我想找出哪些程序和/或文件涉及最重的磁盘写入负载。例如,如果我有一个经常编辑的大型单个文档,或者某个程序经常直接在缓存中创建和删除许多小文件(例如缓存)。

我使用 Ubuntu。我知道 iotop,但这不是我需要的,因为据我所知,它只报告进程/设备级别的活动,而不是应用程序/文件级别的活动,并且它不会在重启后保留累积统计信息。

有什么东西可以做到这一点?

答案1

对于低级别:(sudo)blktrace -d /dev/sda -o - | blkparse -i -

对于高级别:atop。它每 10 分钟(默认)收集一次统计信息并将其保存到磁盘。您可以稍后使用 atop -r /var/log/atop/atop_file(t/T 向前/向后移动)浏览结果。

相关内容