Qual é o propósito de um ramdisk quando existe fadvise?

1

Meu entendimento é que fadvise dirá ao sistema que os arquivos indicados devem ser armazenados em o cache do sistema de arquivos (RAM).

Qual é o propósito de montar um diretório em um ramdisk quando você pode apenas fadvise --willneed do diretório?

    
por Philip 01.05.2015 / 18:00

1 resposta

3

Vamos ler a página de manual da chamada da biblioteca subjacente :

Programs can use posix_fadvise() to announce an intention to access file data in a specific pattern in the future, thus allowing the kernel to perform appropriate optimizations.

The advice applies to a (not necessarily existent) region starting at offset and extending for len bytes (or until the end of the file if len is 0) within the file referred to by fd. The advice is not binding; it merely constitutes an expectation on behalf of the application.

(ênfase adicionada).

Tudo em um disco RAM tem a garantia de estar na RAM, por design (embora o tmpfs possa ser trocado). Mas fadvise é meramente consultivo; o kernel não é necessário para pré-carregar os dados na RAM, nem para mantê-los sempre na RAM.

    
por 01.05.2015 / 23:33