有没有办法在FreeBSD 10上使用ZFS找到定期写入磁盘的进程(根据硬盘指示灯)?也许可以将ZFS转换为详细日志模式吗?
由于磁盘访问的瞬间时间很短,
由于磁盘访问的瞬间时间很短,
lsof
和其他即时聚合统计工具似乎无法捕获任何内容。DTrace能够在FreeBSD上报告vfs信息(以及其他一系列探针)。DTrace在10内核中默认启用,所以您只需要加载模块然后运行dtrace脚本。
加载DTrace模块
kldload dtraceall
./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
top -m io -o write -s 1
这将打印出进程列表,按照它们向磁盘写入的量进行排序,每秒更新一次。
top
命令的io显示来查找正在占用磁盘I/O的进程怎么样?:top -m io -o total
:http://www.freebsd.org/cgi/man.cgi?query=top&apropos=0&sektion=0&manpath=FreeBSD+10.0-RELEASE&arch=default&format=html - user34720