On 06/10/2010 12:30 PM, Vivien Raoul wrote: > What exactly do you mean by reload ? The fact is that I can't browse anymore > since the selfcheck. It happens almost every hour and lasts between 3 and up > to 8 minutes. > If I do a force-reload manually (I don't know if it's the same operation) : > > # time /etc/init.d/clamav-daemon force-reload > Stopping ClamAV daemon: clamd Waiting . . . . . . . . . . . . . > . . . . > Starting ClamAV daemon: clamd . > > real 4m40.967s > user 0m12.533s > sys 2m3.960s > > If the operation which takes time is freeing the database, is there a way to > make it faster ?
Yes that can speeded up, I never thought that freeing anything would waste so much time. Try applying this patch (with 'patch -p1', or 'git apply'). If it doesn't help please open a bug at bugs.clamav.net and we'll try something else (please post the full output of clamconf when you open the bug). diff --git a/libclamav/readdb.c b/libclamav/readdb.c index ce9133d..d8241f8 100644 --- a/libclamav/readdb.c +++ b/libclamav/readdb.c @@ -2853,6 +2853,7 @@ int cl_engine_free(struct cl_engine *engine) #ifdef CL_THREAD_SAFE pthread_mutex_unlock(&cli_ref_mutex); #endif +#if 0 if(engine->root) { for(i = 0; i < CLI_MTARGETS; i++) { if((root = engine->root[i])) { @@ -2901,6 +2902,7 @@ int cl_engine_free(struct cl_engine *engine) mpool_free(engine->mempool, pt->virname); mpool_free(engine->mempool, pt); } +#endif while(engine->dbinfo) { struct cli_dbinfo *pt = engine->dbinfo; Best regards, --Edwin _______________________________________________ Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net http://www.clamav.net/support/ml