O que define o tamanho dos tmpfs? O que acontece quando está cheio?

20

O que define o tamanho do tmpfs? (Na minha máquina, ele reside /dev/shm) Posso ver sua entrada /etc/fstab, mas nenhuma notação de tamanho. Ao verificar com df -h, parece ter metade do tamanho da memória física instalada no sistema. Esse é o comportamento padrão?

Além disso, o que acontece se ficar cheio? Ele se expande dinamicamente, forçando outros programas em execução swap? Ele tmpfspróprio se move para a swappartição?

Finalmente, o que tem prioridade na memória tmpfsou nos aplicativos? ou seja, se eu tenho o tmpfssuficiente (como 40% da memória física) e tenho programas que exigem 70% da memória física, qual deles recebe a prioridade?

Bichoy
fonte

Respostas:

18

O que define o tamanho dos tmpfs? (Na minha máquina, ele reside em / dev / shm) Eu posso ver sua entrada em / etc / fstab, mas nenhuma notação de tamanho.

A documentação do kernel cobre isso abaixo das opções de montagem:

tamanho: o limite de bytes alocados para esta instância tmpfs. O padrão é metade da sua RAM física sem troca. Se você sobredimensionar suas instâncias tmpfs, a máquina entrará em conflito

(Ênfase minha)

Além disso, o que acontece se ficar cheio?

Como mencionado acima, se você se comprometeu demais com o tmpfs, sua máquina entrará em conflito. Caso contrário (se apenas atingir o limite máximo), ele retornará o ENOSPC como qualquer outro sistema de arquivos.

Por fim, o que tem prioridade nos tmpfs ou aplicativos de memória? ou seja, se eu tenho tmpfs suficientemente cheio (como 40% da memória física) e tenho programas que exigem 70% da memória física, qual deles recebe a prioridade?

É semelhante à disputa entre programas. As páginas mais usadas tendem a estar na memória física, enquanto as páginas menos usadas tendem a ser trocadas.

Se você precisar garantir que as páginas estejam sempre na memória física, poderá usar ramfs que é semelhante, mas é de tamanho fixo e não é trocado.

Bratchley
fonte
O que acontece se 2 tmpfs forem montados cada um a 60% da ram, o tamanho total seria 120%. Ele entra em conflito assim que os dois tmpfs são preenchidos até 50%?
CMCDragonkai 5/11