Bom sistema de arquivos para / tmp?

31

Estou pensando em ter / tmp em sua própria partição ... o que seria um bom sistema de arquivos para formatá-lo?

O motivo pelo qual pergunto é porque os dados armazenados em / tmp não são permanentes, portanto, não preciso de registro no diário, um índice sofisticado ou qualquer coisa.

Nathan Osman
fonte

Respostas:

27

Às vezes, acho que mudar /tmppara ram ( tmpfs) é a melhor solução (especialmente nas minhas configurações que usam muitas coisas de IO que exigem muito disco - MySQL, etc) se você tiver RAM suficiente para alimentá-lo.

Marco Ceppi
fonte
2
Eu tenho 2 GB de RAM, então provavelmente não é uma opção.
Nathan Osman
2
Na verdade, isso deve ser bastante RAM. / tmp normalmente não é usado que muito com o uso normal do seu sistema (seja lá o que é).
Joschi
3
O tmpfs usará o swap se for necessário - para que seu espaço de troca possa executar tarefas duplas como / tmp, sem necessidade de alocar espaço extra.
gbroiles
@ George Qual o tamanho de sua intenção de criar sua partição / tmp?
Marco Ceppi
11
@ George, que é um tamanho de partição suficientemente grande para /tmp- na minha área de trabalho, na melhor das hipóteses, uso 12MB, embora meus servidores /tmppossam ficar loucos quando os clientes fazem coisas estúpidas no MySQL e nas linguagens de script que aumentam /tmpmuito. A coisa brilhante do tmpfs é que ele não leva apenas 64 MB de RAM, apenas um teto rígido. O tmpfs será dimensionado conforme mais espaço for necessário - portanto, você só consome no tmpfs o que é necessário naquele momento.
Marco Ceppi
25

Existem várias boas opções aqui:

  1. tmpfs : é um sistema de arquivos que armazena seus arquivos na RAM. Isso não significa que o sistema de arquivos consome toda a sua RAM. Em vez disso, leva apenas a quantidade que realmente precisa. Normalmente, apenas alguns MB são necessários. Se você o usar, adicione uma linha como: none /tmp tmpfs size=64M,mode=1777 0 0ao seu /etc/fstab. Você pode alterar sizepara o valor que desejar. Se você pensar em algum momento que é muito pouco, você pode usar mountpara aumentar o tamanho: mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount. O tamanho será aumentado no local sem excluir os arquivos existentes.
  2. ext2 / 3 : Você disse em sua pergunta que não precisa de nenhum recurso sofisticado. No entanto, eu recomendaria o uso de um diário. Porque se você usa o ext2 e possui um tamanho bastante grande /tmp, verificar isso levará algum tempo. O ext3 inicializa mais rápido em muitos casos. Portanto, eu sugeriria o uso de diários.
  3. ext4 , reiserfs etc .: Alguns softwares são usados /tmppara armazenar grandes quantidades de arquivos pequenos. Portanto, em alguns casos, não há mais blocos livres e o sistema de arquivos está cheio. ext4 e também reiserfs armazenam arquivos de uma maneira diferente. Portanto, pode ser uma boa opção usá-los para o seu /tmp.

Se o seu computador funcionar por um longo período, é uma boa idéia excluir arquivos não utilizados /tmp. tmpreaperé uma solução que faz isso por você.

No entanto, minha primeira escolha seria usando tmpfs.

qbi
fonte
A primeira opção com o / etc / fstab também se aplica ao systemd?
Smile4ever
11
@ Smile4ever Yes-- /etc/fstabfaz parte util-linux, portanto estará presente em qualquer sistema Linux, independentemente de qual sistema init esteja sendo usado.
villapx
7

Se você não quer que ele coma RAM, eu o executaria como ext2 . Não há razão para consumir o pequeno impacto no desempenho do registro em diário de um sistema de arquivos cujos dados você não deve (não deve) se preocupar com as reinicializações.

Na verdade, raspe isso, você provavelmente deve usar o ext4 e desabilitar seu diário, ele deve ser mais rápido que o ext2. Formate-o ext4 e cole-o na fstabopção mount data=writeback.

Nicholas Knight
fonte
6

O uso tmpfsdeve ser adequado às suas necessidades, desde que você tenha RAM adequada instalada .

Dito isto ... algo que deve ser considerado com relação ao uso de um ramdisk para /tmp (isso retirado de um post antigo em outro lugar ):

  • O / tmp deve estar em uma área de disco real ou deve ser implementado basicamente na área SWAP (ou tmpfs)?

Quando é muito utilizado, é uma tentação - "colocaremos / tmp em um disco RAM, agilizará o acesso e, quando o sistema for reiniciado / desligado, não há nada para limpar". No entanto, se você estiver pensando em implementar o espaço temporário como um disco RAM que será trocado, então eu consideraria as ramificações do uso do espaço de troca do seu sistema por outros programas. Se a troca existir como uma forma de "estouro de emergência" para quando o sistema estiver em extrema dificuldade e precisar dela, a última coisa que você precisa é ter o espaço de troca consumido por um processo descontrolado de enchimento / tmp, consumindo memória, causando pressão sobre o sistema. Subsistema de VM para trocar para o disco. Entre a atividade de swap,seek()

Avery Payne
fonte
5

Usar o ext4 com opções de montagem específicas deve ser bom. Use as seguintes opções de montagem:

barrier=0 : Significantly improves file write operations in some scenarios
noatime : Don't update file last access time, you don't need this on /tmp files and it should help with write operations performance.
João Pinto
fonte
adicione também nodiratime
Weboide 9/08/10
noatime inclui nodiratime
zvolkov 5/11/11
3

Estou feliz com ext4. Você pode jogar com algumas opções de montagem se quiser ajustá-lo ou usar o tmpfs se tiver muito ram.

Michał Šrajer
fonte
2

Em resposta àqueles que perguntam por que você deseja uma partição / tmp separada, tenho certeza de que há muitas razões, como algumas já declararam, mas uma que acho particularmente relevante hoje é que, se você estiver executando / em um SSD, você deseja minimizar as gravações nessa unidade, portanto, mover / tmp é uma boa ideia, pois é uma área do sistema de arquivos que tende a mudar bastante.

Matt smith
fonte
0

Eu acho que tmpfs pode ser uma opção ruim, porque geralmente / tmp é gravável em todo o mundo, para que qualquer pessoa possa preenchê-lo e, se for preenchido, precisará de toda a sua memória e seu servidor ficará lento para rastrear

Christian DeKonink
fonte
Eu acho que definir um tamanho máximo razoável para tmpfs e ter espaço de troca lidará com isso.
Olathe