O que acontece com os dados / diretórios remontados?

1

De acordo com sugestões em este post estou tentando para melhorar o meu sistema para funcionar melhor com uma unidade de estado sólido. Mas em relação aos RAMdisks e /etc/fstab usei alguns problemas de compreensão chegando.

Então, vamos adicionar as seguintes linhas a /etc/fstab

tmpfs   /tmp       tmpfs   defaults,noatime,nodiratime,mode=1777   0  0
tmpfs   /var/spool tmpfs   defaults,noatime,nodiratime,mode=1777   0  0
tmpfs   /var/tmp   tmpfs   defaults,noatime,nodiratime,mode=1777   0  0
tmpfs   /var/log   tmpfs   defaults,noatime,nodiratime,mode=0755   0  0

Eu sei que na inicialização esses locais devem ser montados na RAM (espero).

Mas o que acontece com o espaço físico que foi montado nesses locais antes? Está desaparecido? Estará de volta quando eu editar meu /etc/fstab de volta para a versão sem tmpfs? O espaço ainda será alocado no meu SSD de maneira que não possa usá-lo para outros dados?

Às vezes, é sugerido adicionar a seguinte linha também:

none /var/cache aufs dirs=/tmp:/var/cache=ro 0 0

O que isso realmente faz? Percebi que /var/cache ocupa quase 1 GB de espaço no meu disco rígido. Então devo limpar o diretório antes de ativar esta linha? (isso está relacionado com a primeira questão)

Isso me causa algumas confusões e espero que você possa me dar alguns esclarecimentos.

UPDATE
Eu baixei uma imagem com 600MB de tamanho em /tmp que é montada com as configurações de tmpfs acima. Agora eu queria comparar o uso de RAM antes e depois do download. Espero que o uso de RAM seja aumentado em 600 MB após o download. Mas a Ferramenta de Monitoramento do Sistema me mostrou sem alterações .

Como isso pode ser? O tmpfs funciona diferente do que eu realmente esperava?

    
por cauon 06.10.2012 / 15:11

2 respostas

1

Montagens

Quando você monta um sistema de arquivos em um ponto em um sistema de arquivos, o conteúdo anterior fica invisível durante a montagem e reaparece quando a montagem está ausente. Eles consomem espaço no sistema de arquivos, embora invisíveis.

O tópico da pergunta que você citou parece ter muitas informações úteis. Talvez eu possa adicionar um pouco de informação às suas perguntas.

tmpfs

O conteúdo dos sistemas de arquivos tmpfs, como você mencionou, não é persistente - eles sempre perdem seus dados quando o sistema é reiniciado.

Embora eu não saiba de nenhuma desvantagem de armazenar / tmp na memória (exceto pela memória que ele consome), o FHS (Filesystem Hierarchy Standard) diz que o / var / tmp deve sobreviver a reinicializações, portanto não deveria ser um tmpfs (o meu está vazio neste momento). O / var / spool armazena trabalhos de impressão e possivelmente outras coisas. / var / log contém informações de depuração que são inúteis a menos que você tenha um problema, mas pode se tornar muito importante. Eu não colocaria nenhum desses três últimos em um tmpfs, embora eu admita que os logs recebam muitas gravações.

aufs

Não tenho certeza, mas acho que talvez o aufs mount deva permitir a leitura de / var / cache / enquanto na verdade armazena qualquer coisa que você escreve no / tmp / (que apareceria em ambos / tmp e / var / cache /). Estou tendo problemas para corresponder à entrada fstab que você mencionou na sua pergunta com a documentação da página de manual que obtém com aufs-tools versão 1: 3.0 + 20111101-1ubuntu1. Gostaria que o artigo que você cita tivesse mais informações sobre esse item específico. Se você decidir usar aufs e tiver problemas com a sintaxe, sugiro que tente a entrada fstab de Andrew Ferrier a partir dos comentários no encadeamento da questão que você citar, uma vez que parece corresponder melhor à documentação que consegui encontrar.

/ var / cache / apt / archive é usado para conter arquivos .deb para pacotes que você instalou. Se o seu sistema é como o meu, você encontrará muito espaço aqui consumido pelo / var / cache / apt / archives. Você pode limpá-lo com sudo apt-get clean . Um cache é útil para o desempenho, mas deve armazenar apenas itens substituíveis. O cache / var / cache / apt / archive permite reinstalar versões de pacotes sem precisar baixá-las novamente. Se você quiser reduzir esse espaço com apt-get clean , precisará fazer isso quando não houver uma montagem em cima de / var / cache, para que os dados possam ser vistos e removidos do dispositivo e que o espaço seja recuperado.

Outros itens

A opção noatime e a opção nodiratime relacionada desistem de ter o sistema de arquivos lembrando quando um arquivo é acessado (lido), com o benefício de haver menos gravações no sistema de arquivos, melhorando o desempenho e reduzindo o desgaste no SSD. Se você se preocupa com a busca de arquivos que foram lidos em um determinado período de tempo, perderia essa capacidade. Eu não me vejo fazendo isso.

Eu vejo algumas sugestões para configurar uma opção em seus sistemas de arquivos ext3 / 4 para desativar o diário, que constitui um número razoável de gravações, às custas de recuperar alguns dados que você escreveu recentemente se o seu sistema ficar inativo.

Se você procurar aqui , o oldfred fornecerá dois comandos que podem ser usados com SSDs na postagem nº 2.

sudo tune2fs -O ^has_journal /dev/sda1
sudo tune2fs -o discard /dev/sda1

alterando / dev / sda1 conforme apropriado, é claro.

O primeiro desliga o journalling que eu mencionei acima. O segundo diz ao kernel para comunicar a exclusão das informações do arquivo ao controlador do SSD para que ele possa gerenciar melhor o dispositivo, oferecendo melhor desempenho.

Minha humilde opinião

Acho que começaria usando tmpfs para / tmp, usaria a opção de montagem noatime, desativaria o registro no diário do EXT4 e ativaria a opção de descarte.

Concordo com o JR0cket e definitivamente não colocaria um arquivo de troca no SSD por medo de encurtar sua vida útil.

Eu fiz essas alterações no meu pendrive e, devido à mudança do diário, ele precisou de alguns segundos para consertar o sistema de arquivos no boot, tendo que reiniciar pelo menos uma vez. Quando eu reinicio ou paro, aparentemente, a sincronização de arquivos não foi concluída antes do sistema ser interrompido ou reinicializado e após a última gravação no sistema de arquivos. Isso não tem sido um problema significativo para mim e eu não notei nenhuma outra repercussão das outras mudanças.

Espero que alguém que tenha feito isso antes ou que saiba sobre aufs contribuirá com mais detalhes em resposta à sua pergunta.

    
por John S Gruber 07.10.2012 / 07:39
0

Cuidado ao colocar o / var / spool / on tmpfs!


User CRON JOBS são armazenados em / var / spool / no Ubuntu!

Se você colocar /var/spool/ on tmpfs , não poderá ter nenhuma tarefa do cron do usuário , porque elas serão apagadas em todos os desligamentos.

O crontab system está localizado em /etc/crontab e é editado diretamente NÃO com o comando crontab -e . descobri isso da maneira mais difícil: - (

    
por Jesse the Wind Wanderer 29.12.2012 / 10:34