Carregando arquivo na RAM

Carregando arquivo na RAM

Eu tenho um aplicativo que abre um arquivo grande (cerca de 1 a 2 GB) sempre que é executado.

Por motivos de desenvolvimento/teste, preciso continuar reiniciando o aplicativo, e o tempo de espera de 30 a 1 minuto para carregar o arquivo do disco rígido torna-se um pouco inconveniente.

Existe uma maneira de colocar o arquivo na RAM (e mantê-lo lá), para que o carregamento seja mais rápido?

Responder1

Se o seu sistema tiver RAM suficiente, o arquivo deverá ser armazenado em cache na memória, para quenão deveriaser relido na unidade todas as vezes.

Você pode tentar forçar o problema copiando o arquivo para um tmpfssistema de arquivos e carregando-o de lá. tmpfsos sistemas de arquivos são baseados em RAM. A maioria das distribuições agora usa tmpfsfor /tmp, então copiar o arquivo funcionará; se precisar, você pode mountir tmpfspara outro lugar e copiar o arquivo lá. No entanto, se a memória for curta, o conteúdo de a tmpfspode ser trocado, então você pode acabar lendo a partir do swap.

Responder2

O sistema de arquivosdevejá armazena em cache o arquivosevocê tem RAM suficiente.

No entanto, para criar um disco RAM de 2GiB dedicado /tmp/ramdiskpara esse propósito, você pode fazer o seguinte:

sudo mkdir /tmp/ramdisk
sudo mount -t tmpfs -o size=2G myramdisk /tmp/ramdisk

informação relacionada