答案1
您正在寻找的工具是atop
。
atop
可以用来交互地查看当前磁盘、内存、网络和所有其他进程的主要细节。
atop
还支持作为服务运行,将所有数据捕获到压缩日志文件,例如以 1 分钟的间隔捕获所有进程统计信息:
atop -a -w ~/atop_current 60
然后读回去
atop -r ~/atop_current
要切换到“磁盘”视图,您可以d
在交互式控制台上运行时按。
t
然后,您可以使用和(大写和小写)按时间向前和向后浏览T
。当前“时间间隔”将显示在屏幕顶部。
在任何给定的“间隔”中,我都会看到类似这样的内容,显示该过程写入了多少数据、读取了多少数据等等。
RDDSK WRDSK WCANCL DSK CMD
8192K 2304K 0K 100% Proc1
0K 32K 0K 0% Proc2
0K 0K 0K 0% Proc3
0K 0K 0K 0% Proc4
答案2
对于可能对您有用的不同视角,您可以使用审计控制记录对特定目录的访问(当然,/
如果您确实愿意,您也可以对根目录执行此操作)。
例如,在 Ubuntu 上,你可以使用
sudo apt-get install auditd audispd-plugins
nano /etc/audit/auditd.conf
如果您想指定日志位置,请编辑配置文件。
现在您需要添加规则,说明您想要监控的内容。尽量使它们尽可能严格,文件系统中可能会发生很多事情……我建议这样做(当然要适应您的路径):
auditctl -a exit,always -F dir=/home -F perm=rwa
完成后不要忘记禁用:
auditctl -D
现在你的日志应该列出所有访问,并进程号负责该过程的进程。