Wow - what a difference. I just tried turning it off on my server, and CPU usage dropped right off.
Found this old article on web
Zimbra antivirus not started | Papandut.Com: like IT, blog IT, share IT, help with IT
which talked about the schedule interval for zmmtaconfig.
I took a look inside zmmtaconfig on 6.0.2 and found the following
Code:
# get some of our config from localconfig
getLocalConfig();
#print Dumper $state->{localconfig};
$config{loglevel} = $state->{localconfig}->{zmmtaconfig_log_level} || 3;
$config{interval} = $state->{localconfig}->{zmmtaconfig_interval} || 60;
$config{debug} = $state->{localconfig}->{zmmtaconfig_debug} || 0;
$config{restartconfig} =
($state->{localconfig}->{zmmtaconfig_enable_config_restarts} eq "FALSE") ? 0 : 1; so it appears that if you don't specify a local configuration setting of zmmtaconfig_interval then it will default to running every 60 seconds.
On my system this value did not exist in localconfig.
Perhaps with the interval so short, the process has not finished one execution before it is being kicked off again.
I ran
zmlocalconfig -e zmmtaconfig_interval=300
zmmtaconfig restart
and watched TOP for a while, and saw no more spikes.
From the zmmtaconfig log file, it seems to be just checking for the existence of the anti virus - but maybe it is doing other stuff too. I didn't enable debug to try to figure out.
The original poster of the web article mentioned had set an interval of 180 so perhaps that would work too.
It would be interesting to know if there is a good reason for defaulting to 60 seconds as an interval.