TLDR; Se /tmp estiver montado como tmpfs, na presença de swap, existe algum tipo de prioridade na troca? O tmpfs começa a trocar antes dos aplicativos?
HISTÓRIA COMPLETA
Eu tenho um laptop com 32G de RAM (Debian) e 32G de swap. Pretendo montar /tmp com tmpfs.
Mas estou preocupado com o comportamento caso o sistema precise trocar: o que será trocado primeiro? Eu acho (e espero) que os aplicativos tenham prioridade para uso de RAM sobre o tmpfs (por exemplo, acho que o tmpfs será trocado primeiro). Mas não consegui encontrar nenhuma confirmação para isso.
De forma mais ampla, existem cenários em que a montagem /tmp como tmpfs pode tornar o sistema lento?
Não tenho conhecimento de nenhuma prioridade aplicada aqui. As páginas serão trocadas com base no nível de uso — as páginas que não foram usadas recentemente serão trocadas primeiro. Se forem páginas usadas em um arquivo
tmpfs
, ou páginas usadas por aplicativos, não faz nenhuma diferença. Veja Como o kernel decide entre cache de disco e swap? para detalhes do processo.Portanto, você geralmente verá aplicativos que não são executados muito trocados primeiro e, em seguida,
tmpfs
conteúdo que não foi tocado há algum tempo.Na minha experiência, o uso de um
tmpfs
for/tmp
aumenta a capacidade de resposta geral do sistema, para/tmp
cargas de trabalho intensivas, e a melhoria é maior do que a lentidão potencial causada pelo aumento do uso de memória. No entanto, é importante manter o controle do/tmp
uso - é fácil acabar com arquivos obsoletos que ocupam espaço na memória e/ou são trocados sem serem realmente necessários.