是否可以监视所有进程对文件系统的所有写访问

是否可以监视所有进程对文件系统的所有写访问

是否可以监控Linux下所有进程对文件系统的所有写访问?

我安装了一些不同的文件系统。他们中的很多人都是tempfs

tempfs, devtmpfs我对除等之外的所有对根文件系统的写入感兴趣。

我正在寻找会输出的东西:<PID xy> write n Bytes to /targe/filepath ...。什么监控工具可以列出所有这些写入系统调用?可以通过挂载点过滤它们吗?

答案1

根据您要查找的具体信息,您可以在各种情况下使用多种工具。布伦丹·格雷格有一个很好的总结:

可观测性工具图

对于特定设备的 I/O,blktrace 可能合适,尽管将其输出映射到特定文件可能很困难。

适合您情况的更好工具可能是系统点击;花时间学习如何使用它绝对值得。您必须跟踪所有文件的打开和写入,然后对输出进行后处理。这仍然会丢失内存映射文件中的 I/O;您可以看到它,blktrace但那将是页面缓存后的内容,因此它不会捕获每个显式写入(本网站上的某处对此进行了讨论,但我现在找不到它)。看这个答案涉及 SystemTap(跟踪打开的文件)的示例。

相关内容