Tenho a impressão de que você tem alguns equívocos em relação a tmpfs . Você pode achar útil ler o documentação do kernel sobre o tópico; Vou tentar esclarecer as coisas para você aqui.
O título da sua pergunta " tmpfs não transborda para swap" não parece refletir o conteúdo real da sua pergunta, mas em todo caso tmpfs usa o swap, embora, sem dúvida, não transbordem para trocar. tmpfs é fundamentalmente um sistema de arquivos baseado em memória (virtual); seu conteúdo vive apenas na memória, mas como eles são trocáveis, o kernel pode armazená-los em troca, em vez de memória física, se necessário. No entanto os sistemas de arquivos tmpfs não podem ser maiores que a quantidade total de memória virtual disponível, ie RAM física e swap, conforme indicado por exemplo por free -h .
Por padrão, os sistemas de arquivos tmpfs têm um tamanho máximo igual à metade da quantidade de memória física disponível. Você pode aumentar isso usando o parâmetro size , mas, novamente, ele nunca poderá ser mais do que a memória física e a troca disponíveis (embora esse limite não seja imposto no momento da montagem). Quando o sistema de arquivos atinge o tamanho máximo (ou melhor, contém arquivos ocupando muito espaço), informa que ficou sem espaço, como você descobriu. tmpfs não suporta o transbordamento em nenhum lugar quando fica sem espaço.
Se você precisar de espaço de armazenamento temporário para arquivos grandes, use /var/tmp em vez de /tmp . Você realmente não quer um sistema de arquivos tmpfs muito grande, que é uma receita para o desastre quando ele é preenchido (as formas usuais de recuperação de memória do kernel não funcionam em tmpfs ).
(Se você tem muita memória RAM, é claro, um grande tmpfs pode funcionar. Eu corro alguns sistemas com sistemas de arquivos de compilação tmpfs dimensionados a 75% da RAM, de 32GiB, 64GiB ou até mais.)