Disco externo constantemente lendo / escrevendo e não ejetando

1

Eu tenho um disco USB da LaCie que, quando conectado ao meu MacBook Pro, não para de ler ou gravar. Faz barulho o tempo todo, mesmo quando eu não faço nada com isso. A unidade não ejetará normalmente (ou seja, ejetar e girar para baixo), em vez disso, eu preciso forçar a ejetá-la e a unidade ainda está sendo executada posteriormente.

Se eu conectar a unidade ao meu PC com Windows 7, ela funcionará perfeitamente.

Eu já vi esse comportamento há algumas semanas e não consigo me lembrar se instalei algo que poderia ser a causa do problema. A unidade está usando o FAT32.

Alguém sabe uma maneira de descobrir qual programa está fazendo a unidade fazer todas as operações de leitura ou gravação?

    
por slhck 30.11.2010 / 09:22

2 respostas

5

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.

    
por 30.11.2010 / 19:18
0

Tente usar o Activity Monitor.app. Normalmente encontrado em:

Applications->Utilities

Monitore Todos os Processos, depois classifique em% CPU. Se algo estiver constantemente lendo / gravando no disco, é provável que seja visto com este utilitário.

    
por 30.11.2010 / 13:34