Eu posso te dizer qual é a teoria, mas não a experiência pessoal. Eu li que os arquivos são empurrados da memória para o disco apenas a cada poucos segundos, e os arquivos que são removidos com rapidez suficiente nunca acabam no disco. Nem mesmo no diário.
Não tenho certeza se um arquivo precisa existir por 5 segundos completos para ser enviado ou existir no momento do checkpoint, o que acontece a cada 5 segundos. Provavelmente mais tarde. Se assim for, alguns arquivos serão sugados para o disco. Isso acontecerá regularmente por breves momentos.
Existem algumas opções de montagem que eu gostaria de sugerir investigar. Você poderia tornar esses momentos de verificação arbitrariamente raros aumentando o intervalo, mas eles ainda acontecerão. A alocação adiada também tem um efeito colateral de manter os dados enviados para o disco por motivos que não sou capaz de explicar. Não me lembro onde li sobre isso.
- commit = nrsec (Sincronize todos os dados e metadados a cada nrsec segundos. O valor padrão é 5 segundos. Zero significa padrão.) em Ext3
- delalloc (Adiando a alocação de blocos até o tempo de gravação) no Ext4
Solução sugerida: use um sistema de arquivos na memória. Desta forma, você tem certeza de que nada será finalizado no disco. Tmpfs ou ramfs, existem algumas diferenças, como se pode trocar, crescer além de uma capacidade especificada. Eu sei que isso é basicamente o que você está usando agora. Não precisa ser / tmp, você pode criar um novo sistema de arquivos desse tipo em qualquer diretório.