FreeBSD 10 추적 디스크 활동


9

ZFS를 사용하여 FreeBSD 10에서 디스크에 주기적으로 디스크에 기록하는 (hdd led에 따라) 일부 프로세스를 찾을 수있는 방법이 있습니까 (ZFS를 자세한 로깅 모드로 전환 할 수 있음)?

lsof 다른 통계 집계 유틸리티는 디스크 액세스 순간이 짧기 때문에 어떤 것도 포착 할 수없는 것 같습니다.


io 디스플레이를 사용 top하여 디스크 i / o를 먹는 proc을 찾으면 어떻습니까? : top -m io -o total : freebsd.org/cgi/…

아마도 대부분 최상위에 있지만 활동이 최상위 일정과 일치하지 않는 프로세스에는 유용하지 않습니다. 예를 들어, hdd led가 몇 초 안에 한 번 깜박 거린다면 내가 시도한 한 smth를 볼 가능성이 거의 없습니다
o_0

답변:


9

DTrace 는 FreeBSD에서 vfs 정보와 다른 프로브의 래프팅을보고 할 수 있습니다. DTrace는 기본적으로 10 커널에서 활성화되므로 모듈을로드 한 다음 dtrace 스크립트를 실행하기 만하면됩니다.

DTrace 모듈로드

kldload dtraceall

FreeBSD 포럼에서 vfssnoop.d 스크립트를 받으십시오 . 전체 스레드는 디스크 모니터링을위한 보물이다.

그것을 실행 :

./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

이런 마카로니! 감사합니다. 내 인터넷 검색 러시가 끝났습니다)
o_0

5

운영: top -m io -o write -s 1

그러면 프로세스 목록이 인쇄되며 디스크에 쓰는 양에 따라 정렬되어 1 초마다 업데이트됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.