Existem várias ferramentas de linha de comando que podem ajudar a rastrear esse tipo de coisa. Para descobrir o que está causando atividade no disco, usaria fs_usage
. Aqui está um exemplo de como usá-lo para assistir meu volume extra enquanto eu crio um arquivo do bash:
$ sudo fs_usage | grep /Volumes/Spare
Password: [enter admin password; it will not echo]
08:56:10 open /Volumes/Spare/somefile 0.000827 bash
08:56:10 lstat64 /Volumes/Spare 0.000029 fseventsd
08:56:10 getattrlist /Volumes/Spare 0.000017 Finder
08:56:10 getattrlist /Volumes/Spare 0.000030 Finder
08:56:10 getattrlist /Volumes/Spare 0.000013 Finder
08:56:10 access_extended /Volumes/Spare 0.000045 Finder
08:56:10 lstat64 /Volumes/Spare/somefile 0.000038 mdworker
08:56:10 getattrlist /Volumes/Spare/somefile 0.000023 mdworker
08:56:10 getattrlist /Volumes/Spare/somefile 0.000034 mdworker
08:56:10 open /Volumes/Spare/somefile 0.000027 mdworker
08:56:10 getattrlist /Volumes/Spare/somefile 0.000018 mdworker
08:56:10 open /Volumes/Spare/somefile 0.000016 mdworker
08:56:10 getattrlist /Volumes/Spare/somefile 0.000017 mdworker
08:56:10 getattrlist /Volumes/Spare/somefile 0.000012 mdworker
^C
(Notas: quando fs_usage
é canalizado para outro comando, ele formata sua saída para exibição de 132 colunas - para torná-lo legível, você deve ampliar sua janela do Terminal para corresponder. Além disso, use control-C para sair) . As colunas interessantes aqui são o terceiro (caminho do arquivo) e o último (nome do processo) - neste exemplo, bash criou / Volumes / Spare / somefile, o Finder notou que algo havia mudado e verificado os atributos da pasta e mdworker (parte do Spotlight ) notou o novo arquivo e o examinou para adicionar ao índice de pesquisa do volume.
Outra ferramenta útil para esse tipo de coisa é lsof
(list open files):
$ sudo lsof | grep /Volumes/Spare
mds 30 root txt REG 14,4 2 430 /Volumes/Spare/.Spotlight-V100/Store-V1/Stores/0DF7E0C0-E376-45EF-81DC-0F0C64676526/0.indexGroups
mds 30 root txt REG 14,4 2056 435 /Volumes/Spare/.Spotlight-V100/Store-V1/Stores/0DF7E0C0-E376-45EF-81DC-0F0C64676526/0.indexDirectory
mds 30 root txt REG 14,4 8 436 /Volumes/Spare/.Spotlight-V100/Store-V1/Stores/0DF7E0C0-E376-45EF-81DC-0F0C64676526/0.indexCompactDirectory
mds 30 root txt REG 14,4 2731 400 /Volumes/Spare/.Spotlight-V100/Store-V1/Stores/0DF7E0C0-E376-45EF-81DC-0F0C64676526/live.0.indexGroups
mds 30 root txt REG 14,4 1024 406 /Volumes/Spare/.Spotlight-V100/Store-V1/Stores/0DF7E0C0-E376-45EF-81DC-0F0C64676526/live.0.indexCompactDirectory
[...etc...]
Aqui, o nome do processo está na primeira coluna e o caminho do arquivo está no final (e a exibição é ainda mais ampla). Neste exemplo, tudo o que existe é o mds (outra parte do Spotlight) que está ali, com o banco de dados de índice aberto.
Embora fs_usage
seja bom para observar a atividade ao longo do tempo (mas não mostrará arquivos que estão abertos, mas inativos), lsof
fornece um instantâneo de quais programas estão usando quais arquivos (mas não mostra o quão ativo eles são, e vão perder arquivos que foram abertos, usados e imediatamente fechados). Juntas, essas ferramentas fornecem uma boa imagem do que está acontecendo.