Até o fim das aspas são informações da página oficial do ClamAv.
"O ClamAV está licenciado sob a GNU General Public License, Versão 2.
O Clam AntiVirus é altamente multiplataforma. A equipe de desenvolvimento não pode testar todos os sistemas operacionais, por isso optamos por testar o ClamAV usando as duas versões mais recentes de suporte de longo prazo (LTS) de cada um dos sistemas operacionais de desktop mais populares.
CPU mínima recomendada para ClamAV:
1 CPU a 2,0 Ghz+
Espaço mínimo disponível no disco rígido necessário:
Para o aplicativo ClamAV recomendamos ter 5 GiB de espaço livre disponível. Essa recomendação é adicional ao espaço em disco recomendado para cada sistema operacional.
Recomendamos de 3 a 4 GiB de RAM, mas você pode usar menos se estiver disposto a aceitar algumas limitações.
Requisitos de memória (RAM):
Se você estiver usando as imagens de docker oficiais do ClamAV ou imagens de terceiros que executam o ClamAV você precisará garantir que possui RAM suficiente.
RAM recomendada para ClamAV (a partir de 20/09/2020):
Mínimo: 3 GiB
Preferencial: 4 GiB
Por que tanta RAM é necessária?
O ClamAV usa mais de 1,2 GiB de RAM simplesmente para carregar as definições de assinatura em estruturas correspondentes na construção que chamamos de "mecanismo". Isso não leva em conta qualquer RAM necessária para processar os arquivos durante o processo de verificação.
O ClamAV usa mais de 2,4 GiB de RAM por um curto período todos os dias ao carregar novas definições de assinatura. Quando os processos clamd recarregam os bancos de dados após uma atualização, o comportamento padrão é que o ClamAV crie um novo mecanismo com base nas assinaturas atualizadas primeiro. Uma vez carregado e depois que todas as verificações que usam o mecanismo antigo forem concluídas, o mecanismo antigo será descarregado. Esse processo é chamado de "recarregamento simultâneo" e permite que as varreduras continuem durante o recarregamento. Como consequência, o clamd usará o dobro da quantidade de RAM por um breve período durante a recarga.
O processo freshclam também pode consumir um pedaço considerável de memória durante o teste de carga de bancos de dados baixados recentemente. Não usará tanto quanto uma recarga clamd do banco de dados, mas ainda pode ser suficiente para causar problemas em alguns sistemas.
Se o seu contêiner não tiver RAM suficiente você pode esperar que o sistema operacional (ou Docker) possa interromper seu processo clamd. Dentro do Docker isso pode fazer com que seu contêiner pare de responder. Se você estiver observando problemas com o ClamAV falhando ou deixando de responder uma vez por dia, é provável que seu sistema não tenha RAM suficiente para executar o ClamAV.
O que posso fazer para minimizar o uso de RAM?
Colocar o clamd para recarregar o uso da memória:
Você pode minimizar o uso de RAM do clamd definindo como "no" a opção ConcurrentDatabaseReload no arquivo clamd.conf.
A desvantagem é que o clamd bloqueará todas as novas varreduras até que o recarregamento seja concluído.
Freshclam - uso de memória
Você pode desabilitar o teste de carga do banco de dados freshclam para minimizar o uso de RAM definindo a opção TestDatabases como "no" no arquivo freshclam.conf.
A desvantagem aqui é o risco de que um download na atualização do banco falhe de forma inesperada e que o freshclam, sem saber, mantenha o banco de dados quebrado causando falha no clamd ao carregar/recarregar o arquivo quebrado."
Por isso tudo é que se tem de parar os serviços do Clamav antes de executar freshclam para atualizar o banco de dados!
Para detecção de vírus, podem ser utilizados os comandos clamscan e clamdscan. O clamdscan é muito mais rápido, uma vez que sendo um daemon já está carregado na memória, sendo que o clamscan é lido do disco para a memória cada vez que é invocado.
O clamd deve ser mais utilizado para escanear diretórios e arquivos específicos.
Para varreduras de todo o sistema ou maiores é preferível o clamscan, ele é mais demorado do que o clamdscan, mas não causa tantos problemas.
Instalação manual, compilação do Clamav:
Unix from source (v0.104+) - ClamAV Documentation
A cura para os erros escrotos você encontra aqui:
16.04 - ClamAV: clamd.ctl file is not getting created on ubuntu - Ask Ubuntu
e aqui:
clamdscan: File path check failure: Permission denied. ERROR selinux · Issue #441 · Cisco-Talos/clamav · GitHub
Referências