FreeBSD 10 跟踪磁盘活动

FreeBSD 10 跟踪磁盘活动

有没有办法找到使用 ZFS 在 FreeBSD 10 上定期写入磁盘(根据 hdd led)的进程(也许将 ZFS 转换为详细日志记录模式)?

lsof由于磁盘访问的时间很短,其他即时聚合统计实用程序似乎无法捕获任何内容。

答案1

DTrace能够报告 FreeBSD 中的 vfs 信息(以及大量其他探测器)。 DTrace 在 10 内核中默认启用,因此您所需要做的就是加载模块,然后运行 ​​dtrace 脚本。

加载 DTrace 模块

kldload dtraceall

获取vfssnoop.d来自 FreeBSD 论坛的脚本。这整个线程是磁盘监控的宝库。

运行:

./vfssnoop.d

观察输出以了解所访问的内容:

# ./vfssnoop.d 
cc1: warning:  is shorter than expected
TIMESTAMP           UID    PID PROCESS          CALL             SIZE PATH/FILE
1555479476691083      0   1225 nfsd             vop_getattr         - /share/netboot
1555479478601010      0   1225 nfsd             vop_inactive        - /share/netboot
1555479482457241      0   1225 nfsd             vop_getattr         - /share/wpad.dat
1555480557262388      0   1432 cron             vop_getattr         - /var/cron/tabs
1555480557302178      0   1432 cron             vop_inactive        - /var/cron/tabs
1555480557336414      0   1432 cron             vop_inactive        - /etc
1555480557346224      0   1432 cron             vop_getattr         - /etc/crontab

答案2

跑步:top -m io -o write -s 1

这将打印出进程列表,按写入磁盘的量排序,每 1 秒更新一次

相关内容