有沒有辦法找到在 FreeBSD 10 上使用 ZFS 定期寫入磁碟(根據 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 秒更新一次