FreeBSD 10 디스크 활동 추적

FreeBSD 10 디스크 활동 추적

ZFS를 사용하여 FreeBSD 10에서 정기적으로 디스크에 기록하는(hdd LED에 따라) 프로세스를 찾는 방법이 있습니까(아마도 ZFS를 자세한 로깅 모드로 변환)?

lsof다른 인스턴트 집계 통계 유틸리티는 디스크 액세스 시간이 짧기 때문에 아무 것도 캡처할 수 없는 것 같습니다.

답변1

DTraceFreeBSD(및 기타 여러 프로브)에서 vfs 정보를 보고하는 기능. DTrace는 10 커널에서 기본적으로 활성화되어 있으므로 모듈을 로드하고 dtrace 스크립트를 실행하기만 하면 됩니다.

DTrace 모듈 로드

kldload dtraceall

얻다vfssnoop.dFreeBSD 포럼의 스크립트. 이것전체 스레드디스크 모니터링의 보물창고입니다.

달리다:

./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초마다 업데이트되는 프로세스 목록이 인쇄됩니다.

관련 정보