Vale a pena ajustar o Ext4 com noatime?


77

Com versões anteriores do Ubuntu (usando sistema de arquivos ext3) que eu usei para ajustá-lo para um melhor desempenho com resultados visíveis, definindo o noatimeparâmetro /etc/fstab.

Ainda vale a pena fazer isso com o sistema de arquivos Ext4, que agora é o padrão no Ubuntu? Em caso afirmativo, o procedimento mudou de alguma forma?

Um exemplo dessa sintonia pode ser encontrado aqui.

Respostas:


66

No Ubuntu 10.04, relatimefaz parte das opções de montagem padrão, a menos que seja substituído /etc/fstab. Os poucos lançamentos anteriores haviam relatimeexplicitamente entrado /etc/fstab. relatimeoferece os mesmos benefícios de velocidade (e conservação do ciclo de gravação em flash) que noatime, sem causar problemas aos notificadores de e-mail antiquados.

O artigo que você cita recomenda data=writeback. O padrão do Ubuntu é data=ordered. A configuração do Ubuntu é mais lenta em caso de carga pesada no disco, mas apresenta um risco significativamente menor de perda de dados em caso de falha ou falta de energia. Portanto, eu não recomendaria alterar o padrão do Ubuntu.

Mudar commit=5para commit=100aumenta a janela de tempo durante a qual os dados serão perdidos em caso de falha, obtendo pouco benefício na maioria das circunstâncias.

Resumo: deixe as configurações como estão, elas foram escolhidas por um motivo.


ADICIONADO: Existem outras coisas além das opções de montagem que podem fazer a diferença. Mudar de ext3para ext4é muitas vezes uma melhoria visível. Aqui estão mais algumas dicas para usuários de laptops.

  • Se você tiver um SSD lento, confira este tópico no SU . As dicas importantes são tmpfspara /tmpe para o cache do navegador (e talvez histórico).

  • Se você possui um disco rígido e deseja que ele pare de girar por longos períodos de tempo, instale o noflushd , que permite que o disco seja desativado adiando todas as gravações até que a RAM esteja cheia. (É claro que as leituras podem fazer o disco girar; você deve adquirir o hábito de executar cat /files/I/m/likely/to/need >/dev/nullantes que o disco gire.) Para que o noflushd seja eficaz, desative todas as trocas e monte seus sistemas de arquivos com algo como commit=3600.

    Usar o noflushd efetivamente significa que seus dados podem permanecer não gravados no disco por um longo período de tempo. Esse é um risco, que deve ser ponderado em relação ao benefício de não haver ruído ou calor vindo do disco por um tempo. Não use noflushd se você não estiver confortável com esse risco.


Eu entendo o perigo de ajustar assim, algumas das etapas desse tutorial com as quais não concordo, como as comit=100que você mencionou também. Mas estou disposto a correr alguns riscos moderados para aumentar o desempenho, pois uso um laptop e (quase) regularmente backups.
Decio Lira

2
@Decio: noatimevs atimepode fazer uma diferença visível, mas eu ficaria surpreso que noatimevs relatimefaria. Adicionei algumas dicas específicas para laptops à minha resposta; Eu pessoalmente observei melhorias visíveis nessas dicas. Noflushd carrega um risco que eu estava disposto a correr quando o usei.
Gilles

Sim, eu estava pesquisando sobre as diferenças entre noatime e relacionime, e você está certo. relacionime (que agora é o padrão no ubuntu) é um bom compromisso entre atime e noatime.
Decio Lira

Eu li sobre data=writeback- ele simplesmente grava dados e metadados de arquivo em ordem aleatória (ao contrário do orderedque sempre grava metadados após os dados) . Isso significa que, com uma queda de energia, você pode encontrar o arquivo α bytes, onde 0 bytes foram realmente gravados. Bem ... Mas isso é absolutamente natural! Eu sempre pensei que o sistema de arquivos primeiro aumenta o tamanho do arquivo e depois grava os dados. Para descobrir que pode estar na ordem inversa, é necessário transformar esse padrão para adicionar armazenamento em cache na RAM. Não estou convencido de por que não usar writebackse isso pode ajudar a melhorar a latência.
Hi-Angel

17

Sim, ainda pode fazer sentido usar noatimeno Ubuntu 12.10

relatimeé uma opção de montagem padrão. E relatimeé muito melhor que atime. O primeiro requer uma gravação para a primeira leitura após uma gravação, o último requer uma gravação para cada leitura. Mas a noatimecada leitura está livre de gravação.

Isso basicamente significa que o número de gravações em um disco para relatimemontagem é quase o dobro em relação a uma noatimemontagem, sendo outra coisa igual. É uma preocupação séria para partições em dispositivos de memória flash.

A discussão detalhada pela comunidade de kernel do linux está em http://kerneltrap.org/node/14148


3
O fator de dois não está correto em geral. Em teoria, o fator está entre 1 (arquivo infinitamente usado com frequência) e 2 (arquivo infinitamente usado com frequência). Isso significa que o fator verdadeiro é basicamente 1, uma vez que os fatores raramente próximos a 2 não representam significativamente a média.
Patrick Häcker

1 é para arquivos somente gravação. 2 é para todos os outros. Não há sentido em arquivos somente gravação, mas eles podem aparecer periodicamente. Portanto, minha estimativa original deve ser relevante.
precisa saber é

@yanychar: obrigado por explicar as relatimedesvantagens e compartilhar a discussão sobre o kerneltrap, mas dizer " não há sentido em arquivos somente para gravação " é um absurdo: todos /usre /libsão arquivos somente leitura. Na verdade, a maioria das árvores, sans /homee /var, é somente leitura. Os arquivos em /etctambém mudam muito raramente.
MestreLion 10/09/2015

2
@MestreLion: O Ubuntu instala toneladas de pacotes. Os pacotes são atualizados periodicamente. Se não houver leituras de um arquivo entre os horários em que o pacote é instalado e atualizado, o arquivo era "somente gravação". Não há gravações adicionais relatimecomparadas ao noatimearquivo. Para todo o resto, há uma gravação adicional quando o arquivo é lido.
yanychar
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.