força arquivos e / ou diretório para o cache de arquivos do kernel [closed]

2

Existe alguma maneira de forçar ou priorizar um diretório, arquivos ou arquivos sendo gravados / lidos por um determinado processo no cache de arquivos do kernel?

edit: o sistema é linux.

edit: Eu tenho 1 processo que escreve um arquivo e cerca de 7-10 processos que lêem o arquivo que é escrito por um processo. Gostaria de minimizar o volume total de i / o envolvido.

    
por incognito2 21.08.2011 / 18:45

2 respostas

2

O kernel tomará a ação de cache ideal automaticamente, assumindo que você tenha memória suficiente para carregar todo o cache. A tentativa de pré-configurar o cache não será útil no caso geral; é somente útil quando você precisa ter um tempo de processamento rápido e visível ao usuário, às custas de mais tempo envolvido anteriormente no processo, o que não parece ser o caso aqui.

Se você precisar da melhor taxa de E / S possível e não se importar se perder os dados do arquivo no caso de uma catástrofe, poderá fazer o E / S do arquivo em um disco RAM (tmpfs); isso erradicará completamente a E / S do disco, mas o conteúdo do sistema de arquivos será perdido na reinicialização.

    
por 22.08.2011 / 04:29
1

A leitura dos arquivos deve "forçá-los" ao cache. Eu suponho que você deseja pré-carregar alguns arquivos no cache?

Estou tentado a dizer que "dd if = file de = / dev / null bs = 4M" deve forçar o arquivo para o cache. Você está falando sobre o Linux?

    
por 21.08.2011 / 21:36