Por que / tmp não usa tmpfs?

17

Tenho muita memória RAM e uso muito pouco. Também gravo alguns screencasts com gtk-recordmydesktop, que por padrão são salvos /tmpdurante a gravação. Presumi que isso significaria armazenar na RAM o máximo possível, mas verifiquei e descobri que /tmpnão é montado com tmpfs. Por que é que?

Jo-Erlend Schinstad
fonte
Veja este relatório de bug .
jarno 21/02

Respostas:

16

Eu acho que você respondeu sua própria pergunta. Muitos programas são usados /tmppara armazenar arquivos temporários e podem ser enormes.

Por exemplo, o Brasero padroniza esse diretório para armazenar um arquivo de imagem de CD / DVD, que pode ter 4,7 GB de tamanho. Não vale a pena arriscar uma desaceleração séria (ou um bloqueio do sistema) em uma situação de falta de memória se a RAM e a troca ficarem cheias.

Para usuários avançados, não há problema em alterar os padrões de alguns aplicativos e montar /tmpcomo tmpfs. Para uso geral, simplesmente não vale o risco, eu acho.

organizar
fonte
1
E acho que você pode ficar um pouco irritado e amaldiçoar os desenvolvedores se tiver gravado alguns grandes screencasts e depois, após uma queda de energia ou um problema no sistema, os perderam. ;)
organiza
E o material em / tmp pode até residir na RAM e nunca tocar no disco se você usar ext4.
LasseValentini
@Fraekkert: Como assim? Por que ext4? Porque nunca? Você pode elaborar por favor?
organize
1
Não é exclusivo do ext4, mas é por causa da alocação atrasada . Essencialmente, isso significa que os arquivos não são necessariamente gravados no disco apenas porque um programa diz ao SO para fazê-lo. Em vez disso, é mantido no aríete para acesso rápido. Se o arquivo for excluído relativamente rápido a partir de então, nunca chegará ao disco. Dê uma olhada na wikipedia se precisar de mais informações.
LasseValentini 26/09
1
Para referência, aqui está um comentário explicando o tópico de 5/30 segundos em detalhes: bugs.launchpad.net/ubuntu/+source/linux/+bug/317781/comments/45
lxgr
10

E a compactação zram?

O espaço disponível é superior a 256 MB, depende do tipo de arquivo.

modprobe zram num_devices=1 
# max ram usage = 256 Mbytes
echo 262144 > /sys/block/zram0/disksize
mke2fs -q -m 0 -b 4096 -O sparse_super -L zram /dev/zram0
mount -o relatime,noexec,nosuid /dev/zram0 /tmp
Massimo
fonte
Isso é realmente uma idéia muito interessante ... vai tentar fazer isso :)
Piskvor