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초마다 업데이트됩니다.

관련 정보