Atividade do disco de rastreamento do FreeBSD 10

9

Existe alguma maneira de encontrar algum processo que esteja gravando periodicamente no disco (de acordo com o led hdd) no FreeBSD 10 com ZFS (talvez transforme o ZFS no modo de registro detalhado)?

lsof e outros utilitários estatísticos de agregação instantânea parecem não conseguir capturar nada devido ao curto período de um momento de acesso ao disco.

o_0
fonte
Que tal usar a exibição io de toppara procurar o proc que está consumindo a E / S do disco? : top -m io -o total : Freebsd.org/cgi/...
provavelmente é útil para processos de carga pesada que estão principalmente no topo, mas não para aqueles cuja atividade não coincide com o cronograma superior. por exemplo, se HDD LED está constantemente a piscar uma vez em um par de segundos não há quase nenhuma chance de ver smth no topo, tanto quanto eu tentei
o_0

Respostas:

9

O DTrace é capaz de relatar informações de vfs no FreeBSD (assim como uma série de outras análises). O DTrace é ativado por padrão no kernel 10, então tudo que você precisa fazer é carregar o módulo e executar o script dtrace.

Carregue o módulo DTrace

kldload dtraceall

Obtenha o script vfssnoop.d nos fóruns do FreeBSD. O segmento inteiro é um tesouro para o monitoramento de disco.

Executá-lo:

./vfssnoop.d

Assista à saída do que é acessado:

# ./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
Matt
fonte
Santo macarrão! Muito obrigado, minha
busca no Google
5

corre: top -m io -o write -s 1

Isso imprimirá a lista de processos, classificados por quanto eles estão gravando no disco, atualizados a cada 1 segundo

Allan Jude
fonte