Meu entendimento é quefadvise
dirá ao sistema que os arquivos indicados devem ser armazenados no cache do sistema de arquivos (RAM).
Qual é o propósito de montar um diretório em um ramdisk quando você pode apenas fadvise --willneed
o diretório?
Responder1
Vamos lera página de manual para a chamada da biblioteca subjacente:
Os programas podem usar posix_fadvise() para anunciar uma intenção de acessar dados de arquivos em um padrão específico no futuro, permitindo assim que o kernel execute otimizações apropriadas.
Oconselhoaplica-se a uma região (não necessariamente existente) começando emdesvioe estendendo-se porlentobytes (ou até o final do arquivo selentoé 0) dentro do arquivo referido porfd.Oconselhonão é vinculativo; constitui apenas uma expectativa em nome da aplicação.
(Enfase adicionada.)
É garantido que tudo em um disco RAM esteja na RAM, por design (embora o tmpfs possa ser trocado). Mas o fadvise é meramente consultivo; o kernel não é necessário para pré-carregar os dados na RAM, nem para mantê-los sempre na RAM.