Usa partição Windows e tem o Linux lento? Desfragmente o NTFS!

Publicado por Bruno Rafael Santos em 03/12/2009

[ Hits: 7.981 ]

Blog: http://rafaelocremix.wordpress.com/

 


Usa partição Windows e tem o Linux lento? Desfragmente o NTFS!



Olá pessoal, essa é a minha primeira dica. É algo bem básico, mas me deu muita dor de cabeça.

Um contexto:

Comecei a usar o Mandriva como minha distribuição principal no 2007.2, daí usei o sistema de forma intensiva. Porém, com um probleminha aqui, outro ali eu acabava voltando para o Windows. Foi no 2008.2 que passei a usar o Linux como meu sistema principal, no começo foi bom, sem travamentos, tudo muito rápido etc. Aproveitei a formatação total do meu disco para refazer todas a partições, também migrei todos os sistemas de arquivo para NTFS porque o FAT32 não aceitava mais meus arquivos de 4 GB para cima. Minhas partições ficaram assim:
  • Sda1. Windows - Instalação do Windows [dualboot]
  • Sda2. Linux - Instalação do Mandriva [dualboot]
  • Sda3. Home - /home, criei por curiosidade, acabou se revelando muito útil
  • Sda5. Arquivos - Todos os meus arquivos, mais de 60% do disco
  • Sda6. SWAP - Ganha um doce quem adivinhar
  • Sdb1. Transferências

Uma partição em outro disco só para receber downloads, arquivo de paginação e minhas experiências.

Todas as partições acima, exceto Sda 3, 6 e 2, são NTFS.

Essa Sb1 foi uma ideia que não me lembro de onde surgiu: "separar arquivos que sofrem modificação constante dos demais arquivos pessoais e de sistema melhora a performance do PC por reduzir a fragmentação". De qualquer forma ajuda a organizar melhor meus arquivos, mas se é mesmo efetiva contra a fragmentação geral das demais partições eu nunca vi.

O problema:

Depois de muito tempo usando o Linux (meu PC chega a ficar ligado por semanas sem parar), comecei a notar umas crise de lentidão extrema no sistema. De uma hora para outra o Mandriva ficava lento como o Windows no boot, mas sem nenhuma causa aparente, depois tudo voltava ao normal.

Culpados não faltavam:
  • Firefox - com a ajuda do FlashPlayer e do Java consegue derrubar qualquer coisa, mas não era ele. Mesmo o Gnome sozinho sofria com isso.
  • Gnome - tentei instalar o KDE, nada de novo.
  • Problemas na instalação - Sempre faço uma clean install do Mandriva e o problema me perseguiu até o 2010. Será que os franceses pisaram na bola?
  • Transmission - por algum motivo as crises eram mais frequentes e intensas quando o Transmission estava funcionando. Talvez os arquivos que eu estivesse baixando fossem grandes demais...

E o System Monitor mostrou onde estava o problema afinal: NTFS-3G: 100% CPU, SWAP 100%...

Realmente o que causava a lentidão eram acessos em partições NTFS, de preferência, acessos em mais de uma partição ao mesmo tempo. E no meu sistema isso era agravado pois além do Transmission acessar arquivos na Sdb1, tinha o Firefox usando um perfil compartilhado na Sda5. Aliás essa é uma boa dica:
A solução:

Foi no meio dessa revelação que me lembrei dessa informação aqui:

"A coisa muda de figura quando o Linux e o Windows escrevem simultaneamente numa partição vfat. Tive uma partição grande vfat, algo como 70 GB, utilizada por um tempo relativamente curto e com ocupação inferior a 50%. O efeito na fragmentação chegou rapidamente a ponto de não ser viável desfragmentar, nem com as ferramentas nativas do Windows, nem com o Norton Utilities. Num cálculo aproximado, esta seria uma operação de 60 horas."

Leiam mais em: Fragmentação grave

Basicamente o Linux e o Windows haviam se desentendido quanto aos arquivos. Como fico pouco tempo no Windows, as desfragmentações agendadas não ocorriam e a confusão foi acumulando. A solução como vocês devem ter imaginado é simples até demais: desfragmentação. Como o NTFS-3G tem lá seus problemas em acessar o sistema de arquivos, então ele fica fragmentado, mesmo que pouco, isso lhe exige um tremendo esforço para funcionar. Isso não ocorria nas FAT32, onde o acesso ao filesystem já é bem manjado.

Existem algumas dicas de como desfragmentar o disco no Linux:
Infelizmente não achei nenhuma solução que permitisse desfragmentar a NTFS diretamente no Linux, então a solução é um reboot.

No Windows a história é outra. A fragmentação que o Linux causa não é grande o bastante para se fazer sentir, mas para ser percebida pelo aplicativo de desfragmentação talvez.

Para desfragmentar os discos no Windows XP basta acessar: Menu Iniciar > Programas> Acessórios > Ferramentas de Sistema > Desfragmentar discos.

Essa ferramenta é muito boa, existem inúmeros programas pagos e gratuitos para desfragmentar discos no Windows, mas nenhum funcionar melhor que a ferramenta nativa. Mesmo assim dá para fazê-la ficar ainda melhor: linha de comando.

Na verdade o desfragmentador do Menu Iniciar é só uma interface para um comando muito bom e fácil de usar: Defrag

O defrag tem a seguinte sintaxe:

defrag <unidade>: -<parâmetros>

Existem basicamente 4 parâmetros:
  • a - apenas analisa o disco e dá um relatório detalhado
  • f - força a desfragmentação mesmo se houver pouco espaço em disco
  • v - modo verbose, com ações descritas detalhadamente
  • b - desfragmentar arquivos de boot do sistema

Particularmente o comando que uso é:

defrag c: -fvb

Assim sei o que ele está fazendo, tenho uma desfragmentação profunda e sem mensagens de erro. Dá até pra agendar os escaneamentos usando o agendador de tarefas: basta escrever esse comando em um arquivo BAT e rodar com o agendador.

Conclusão:

Agora o Mandriva está muito bem obrigado. Uma vez por semana deixo o PC ligado no Windows para rodar o Desfragmentador e manter as coisas nos eixos. Uma última dica: quando forem organizar as partições e os arquivos no PC, se tiverem partições NTFS misturadas com as suas, pensem bem em como vão lidar com o acesso simultâneo a várias delas. Creio que esta dica seja válida para todas as distribuições, se alguém puder testá-la ficarei agradecido. ;)

Outras dicas deste autor

Android + Gmail + Thunderbird = Gerenciamento Integrado de Contatos

CodeSkulptor - Interpretador de Python que roda direto no navegador

Leitura recomendada

Acessando dados de uma pasta /home encriptada

Dimensionando partição superior a 2TB

Erro "unknown filesystem type 'LVM2_member'" - como montar LVM sem alterar configurações no HD convidado

Recuperando sistema de arquivos em modo read-only

Recuperando arquivos de sistema no Linux com reiserfsck

  

Comentários
[1] Comentário enviado por duker em 03/12/2009 - 12:17h

Parabéns pela dica exatamente o q eu estava precisando ^^, ainda de quebra achei uma dica interessante do perfil compartilhado do firefox ! vlw

[2] Comentário enviado por millemiglia em 03/12/2009 - 15:51h

Tenho meu PC de casa com dual boot Windows XP/Ubuntu 9.04 e achei muito interessante sua dica. Com certeza vou usá-la para otimizar o desempenho do micro.

[3] Comentário enviado por removido em 03/12/2009 - 22:02h

Uma opção bem tosca mas igualmente eficaz, porém rodando nativamente no Linux, seria rsyncar o conteúdo da partição ntfs para outra mídia (como um becape) ou outra partição vazia ou com espaço suficiente, dar um "rm -rf" na partição que se deseja desfragmentar e escrever por cima dela com os dados do "becape".

Obviamente se o volume de dados for muito grande, isso se torna inviável ou mais dificil que corrigir uns poucos trechos fragmentados...

Não me lembro de onde li, se foi em Linux.com ou LinuxGazette.net,a esse respeito. Abs, parabens.

[4] Comentário enviado por rafaelocremix em 03/12/2009 - 23:09h

valeu pessoal,

vfs, tentei fazer essa mesma bruxaria. Na verdade, a desfragmentação via windows era tão lerda que copiei todos os arquivos para a partição de 'Arquivos' e depois retornei tudo. Não dá muito certo por que a 'Transferências' tem muitos arquivos esparsos que voltam para o mesmo lugar fragmentados. Talvez fazendo isso pelo linux dê mais certo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts