找出进程正在写入哪些文件

找出进程正在写入哪些文件

几个月来,我一直遇到 Firefox 的这个非常烦人的问题,空闲一段时间后,它的 CPU 使用率会跃升至 24% 以上。任何官方故障排除都没有取得积极结果(尝试重置、全新安装、不使用插件等),但我发现当发生这种情况时,它会进行疯狂的 I/O 写入。我知道这可能与实际写入磁盘无关,但由于没有任何方法可以直接检查,我现在正在寻找一种方法来自己找出它。

我如何才能找出该进程正在写入哪些文件?我的目标是了解它是否真的在写入文件以及它们是什么文件,因为这可能会带来问题的线索。如果它正在写入文件,那么我可以看到它们是什么文件,如果没有,那么我将探究这意味着什么。

有什么方法可以找出某个进程正在写入哪些文件?

我搜索了与此相关的其他问题,但最接近的问题仅提到查找进程的 I/O 数据,而不是具体提到查找它正在写入哪些文件。

编辑:这是在 Windows 10 上

我已经尝试过了ProcMonProcess Hacker但是它们只显示 I/O 速率,似乎没有一种方法能够判断一个进程正在写入哪些文件。

答案1

如果你使用的是 Windows,通常的选择是SysInternals ProcMon

在 Linux 上,fatrace将报告系统范围内的所有写入,同时strace --decode-fd -p <pid>将显示指定进程完成的写入。还有其他工具(inotifywait、perf trace)。

相关内容