Linux desativa o cache de disco para um único comando

7

Nosso servidor está executando de forma decente, mas quando os backups ou outros processos de varredura são executados, ele regista todo o servidor. Algo como clamd será executado e varrerá muitos arquivos. Enquanto esperamos um desempenho lento, estamos matando nosso cache e o resultado final é que não conseguimos um sistema que possa fazer qualquer coisa.

Existe uma maneira de desativar o armazenamento em disco / disco para um único comando? A ideia seria executá-lo assim:

# ./nocache clamd

Em seguida, durante a execução de clamd , ele não iria debulhar o cache preparado ao ler todos os arquivos no sistema.

    
por Kristopher Ives 24.10.2011 / 21:42

2 respostas

2

Tem que ser implementado no próprio programa. Se clamd ainda não o fizer, você poderá modificar clamd para evitar um footprint de cache desnecessariamente grande adicionando chamadas a funções como posix_fadvise(... POSIX_FADV_NOREUSE) ou madvise(... MADV_DONTNEED) (se a memória mapear os arquivos). Ele ainda vai empurrar os metadados do sistema de arquivos para fora do cache. Não há muito que você possa fazer sobre isso.

    
por 24.10.2011 / 23:21
4

Não é realmente a resposta que você está procurando, mas apenas usamos ionice para backups e verificações para que eles não afetem os outros programas no servidor.

ionice -c3 clamd
    
por 24.10.2011 / 22:13