FreeBSD 10 追蹤磁碟活動

FreeBSD 10 追蹤磁碟活動

有沒有辦法找到在 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 秒更新一次

相關內容