Eu uso um programa antivírus Sophos para verificar e-mail no software antispam ASSP, servidor OS Centos 7.4, MTA EXIM.
Ele roda dessa forma
/usr/local/bin/savscan -sc -s -archive /file
Funciona muito bem para bloquear malware, mas há um problema. Toda vez que o savscan é executado ele precisa carregar na memória todas as suas assinaturas de vírus, aproximadamente 6 segundos apenas para iniciar.
Se você considerar que no servidor recebo cerca de 40 emails por minuto, é uma grande perda de tempo e recursos. Já entrei em contato com a Sophos e eles me disseram que não estão interessados em criar um daemon de scanner como o daemon clamAV faz...
Então, minha pergunta é: existe alguma maneira de executar /usr/local/bin/savscan mais rapidamente após sua primeira execução? Seria possível executá-lo como daemon, ou colocar na memória o programa após a primeira execução para que as próximas execuções sejam bem mais rápidas?
A memória não é limpa se não for necessária, portanto, o próprio programa provavelmente ainda está na memória.
É o próprio programa que precisa desses 6 segundos para sua inicialização. O arquivo também já deve estar na memória, então o disco pode não ser o fator mais importante.
Sugiro rastrear durante esses 6 segundos o uso de CPU e disco do programa , para ver onde está esse tempo gasto.
Se for principalmente o disco, você poderá migrar o programa e seu arquivo de assinaturas para um disco RAM .
Se o problema for usar a CPU, não há solução a não ser trocar de antivírus.