我想通过一段时间内某些进程的放置来分析和可视化磁盘,以查看有多少数据写入磁盘,并查看进程在哪些时间没有利用整个磁盘性能。例如,因为它执行 CPU 密集型任务,或者因为它访问大量小文件,并且磁盘需要进行大量磁头重新定位。
我已经知道这个问题了:如何监控磁盘io。它展示了如何监控每个进程的磁盘 IO。特别iotop -aoP
显示每个进程的累积 IO。例如,如果我想跟踪自 IO top 启动以来进程已经写入了多少数据,这很好。但随着时间的推移,它在可视化数据方面表现不佳。
第 1 部分:本质上,我正在寻找类似于网络历史记录的内容,gnome-system-monitor
但按进程列出,而不是完全针对整个磁盘。
其次,写入磁盘的进程不一定是引起IO的进程。例如,如果我访问 NTFS 文件系统,则首先将数据写入mount.ntfs-3g
磁盘。因此,如果我想跟踪qemu
写入 NTFS 存储上的 img 文件的进程的性能,那么我会看到所有 IO 都发生在该mount.ntfs-3g
进程上,而不是发生在 qemu 进程上。我假设数据在写入磁盘之前通过管道从qemu
进程传输到进程。mount.ntfs-3g
第 2 部分:所以问题的第二部分是我是否可以以某种方式可视化仅用于 qemu 进程的 IO。
答案1
您可以将该top
命令用于某个特定的磁盘驱动器,或者如果您确实想要特定的使用iostat -xd /proc
。