Debian Trixie altera gerenciamento da memória RAM

O Debian 13 “Trixie” traz uma inovação significativa que alinha a distribuição com o comportamento de outras grandes do mundo Linux: o diretório /tmp é montado por padrão como um tmpfs, ou seja, um arquivo temporário na RAM e não mais no disco.

Essa mudança, detalhada nas notas de lançamento, impacta diretamente a forma como o sistema lida com arquivos temporários, visando otimizar a performance e a gestão de recursos.

O Que é tmpfs e Por Que a Mudança?

Em sistemas operacionais do tipo Unix, o /tmp é o diretório padrão que armazena arquivos temporários, que programas e o próprio sistema precisam no curto prazo. Geralmente eles são descartáveis e, na maioria das distribuições, são apagados ao reiniciar o computador. Tradicionalmente, o /tmp residia no disco rígido, mas agora, com a adoção do tmpfs, ele será alocado na RAM.

A principal vantagem dessa abordagem é a velocidade. A leitura e escrita de dados na RAM são ordens de magnitude mais rápidas do que no disco rígido ou SSD. As operações que dependem de arquivos temporários serão executadas de forma mais ágil, melhorando o desempenho geral do sistema.

A mudança para tmpfs garante que os arquivos em /tmp sejam automaticamente apagados após um reinício do sistema, já que a RAM é uma memória volátil. O Debian 13 também implementa uma limpeza automática regular para arquivos mais antigos, prevenindo o acúmulo de dados desnecessários tanto em /tmp (após 10 dias de inatividade) quanto em /var/tmp (após 30 dias de inatividade, mas não em caso de reinício).

O Que Você Precisa Saber sobre a Configuração

Apesar de a nova configuração ser automática, é fundamental entender como ela funciona. Por padrão, o espaço máximo alocado para o tmpfs em /tmp é 50% da RAM disponível, o limite máximo que será utilizado apenas se necessário.

Se necessário, você pode ajustá-lo de dois modos. Pelo systemd, o comando sudo systemctl edit tmp.mount permite editar as configurações do tmpfs, adicionando ou modificando as opções de montagem. Para definir um novo tamanho, adicione uma linha no final do arquivo com o seguinte formato, substituindo o valor de size:

[Mount]
Size=4G

É possível especificar um tamanho fixo, como size=4G (4 gigabytes), ou uma porcentagem, como size=25%% (25%, use o duplo % para “escapar” o caractere). Lembre-se de salvar e fechar o arquivo para que as mudanças sejam aplicadas.

Ou modo é editando diretamente o arquivo /etc/fstab, encontrando a linha relacionada a /tmp e adicionando a opção de tamanho. Para o mesmo exemplo de 4GB, ficaria assim:

tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=4G 0 0

Atente-se ao fato de que erros de digitação no /etc/fstab podem impedir que o sistema inicie. Sempre faça um backup do arquivo original antes de editá-lo.

Retornando ao Comportamento Antigo

Se, por algum motivo, você precisar voltar a ter o diretório /tmp no disco rígido, o processo também é direto. Basta “mascarar” o serviço tmp.mount do systemd e reiniciar o computador. O comando para isso é:

systemctl mask tmp.mount

Que desabilita o serviço que monta o /tmp como tmpfs, fazendo com que o sistema volte a alocar o /tmp no disco. Se você precisar acessar o antigo diretório /tmp baseado em disco após a atualização, pode-se fazê-lo por meio de um bind-mount.

A adoção do tmpfs para o /tmp, no Debian 13 “Trixie”, é um passo importante para modernizar a distribuição e otimizar o uso de recursos. A mudança promove maior velocidade e eficiência, alinhando o Debian com as melhores práticas adotadas por outras distribuições líderes.

**O que é “escapar” o caractere?

Quando há o duplo sinal de porcentagem (%%) em um arquivo de configuração ou script, como no exemplo size=25%%, significa que o primeiro sinal (%) está sendo “escapado” pelo segundo.

Isso é necessário porque, em muitos ambientes de script e linguagens de configuração, o sinal de porcentagem simples (%) é frequentemente usado para indicar variáveis, substituições ou outros comandos.

Para que o sistema interprete o % como um caractere literal, como parte do texto e não como um comando, deve-se “escapá-lo” com %%, garantindo que o valor seja lido como 25% em vez de causar um erro de sintaxe ou ser interpretado erroneamente. É como dizer ao sistema: “ignore o significado especial deste primeiro % e use-o como um caractere normal.”

5 curtidas

Vou ler depois.

Valeu @acvsilva

O arch já utiliza este procedimento.

1 curtida

A versão do QT do debian está bugada.

Eles podiam atualizar logo.

Parece que tem um erro com aplicativo discover.
Que impede do aplicativo abrir.

Versão: 6.8.2

Pelo que vi, o problema foi resolvido na versão 6.8.3

1 curtida

Tem algum “museu de velhas novidades” nessa inovação:

Instalei o Debian 10 Buster em 24 Março 2020 – e o /etc/fstab já veio assim:

UUID=7A0B-66EE                             /boot/efi  vfat    defaults,noatime               0  2
UUID=fc576ba0-2fd4-483b-b090-55d295f1dccf  /          ext4    defaults,noatime,discard       0  1
UUID=1eb92b4b-f8d8-4620-8aaf-df815197143a  /home	  ext4    defaults,noatime               0  2
UUID=2ae5ec7d-42bd-4d6b-9597-7473984c75fe  none	      swap    sw                             0  0
tmpfs                                      /tmp           tmpfs   defaults,noatime,mode=1777 0  0

Só faltou o “size=4G” – que continua ausente até hoje.

3 curtidas

só que não era gerenciado pelo systemd

Para verificar isso…

só pelo comando…

systemctl invoke spiritualist session buster.2020.03.24

:wink:

Muito bom, já migrei pra essa configuração faz um tempinho (2 anos?).

Só me deu dor de cabeça uma vez que estava fazendo download de uma iso e coloquei na /tmp, só que faltou espaço! KKK