查看 Linux 中当前正在写入或读取的文件的命令是什么?

查看 Linux 中当前正在写入或读取的文件的命令是什么?

就像 top 命令一样,它可以告诉我们系统中正在运行什么进程以及它在做什么,例如哪个进程正在运行并占用 CPU。我想知道在运行的系统中系统当前正在对文件做什么,例如它在磁盘空间中的哪个位置写入?我不想使用 watch 命令,因为我谈论的是整个系统,例如当前整个文件系统中任何文件正在被读取或写入的位置。如果读取不可用,那么我没问题,但写入对我来说绝对很重要。我正在尝试检查系统的健康状况,并且我想监视当前正在将哪些文件写入文件系统。

答案1

您可以在整个文件系统上设置 inotify 观察者。您可能需要增加允许的观察者数量https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers

其他一些可能有用的东西:

  • iotop可以显示哪些进程具有最多的 I/O 活动
  • 如果你确定了某个进程,想看看它正在写入什么,strace我相信你可以使用它的进程 ID

相关内容