For a Perl script it does seem very hungry. As it is crunching a lot of files and inserting into a DB could the high CPU be caused by IO blocking?
be that sqlite is NOT running with async io enabled - e.g. like the common PHP
Configuration - this may be a reason for high load caused by blocking io.
Also logwatch / syslog is adding a great deal of blocking io.
I disabled the logger service as well, rather that than unresponsive server. I can't seem to find the bug report about this, i think i remember seeing it being fixed in 6.0.2, can anyone confirm this?
seems this is the bug report i couldn't remember Bug 40861 – zmstat-allprocs stops running on 6.0 if it's related at all. i'm having both problems. Status is RESOLVED, so thats why i figured.
Last edited by preem; 10-01-2009 at 02:29 AM.
After upgrading from 5.0.14 to 6.0.1 my load / cpu doubled immediately and responsivness went down.
I run zimbra on a ubuntu 8.04-64 as single-cpu vmware-guest on a quad-cpu vmware-server-host.
I disabled zmlogger and zmswatchctl as recommended and it "feels" much better now and watching top brings down the cpu used by the java-processes and my logs dont fill with strange messages any more.
But cpu/load is still way to high and zimbra still feels much slower then it was with 5.0.14. And you can see in my cpu/load-monitors that disabling zmlogger only drops a bit of the load which upgrading added a lot !!
I tried to figure out where the cpu goes and what drains the load which is very difficult, cause I'm not a zimbra-developer and not top-skilled-linux-expert, but some things seems strange so I would by now support the theory that its something between zimbra and vmware server. Most of the high-cpu-complains in google are on vmware-machines.
I really hope the zimbra-developers will adress this problem in 6.0.2.
Is there actually a way to migrate back to 5.0.14. I have a complete backup of my old data before migration, but new users, new mails since then
I would actually like to submit a bug-report about this, but I dont dare to post in the developers-forum .... but it really seems that quite a lot of people have this problem and that even the rude solution of disabling zmlogger and zmswatchctl does not solve the problem entirely. seems there is something deeper in the code that make ZCS6.0.x running out of breath in virtual environments (I found similar problem-reports with XEN and if I found any time I would give it a try on VirtualBox)
thnx for any further reports and insights
Here was the original bug report: Bug 40836 – zmlogger cpu spike in main branch.
It is marked resolved. This resolution was post ZCS 6.01 so I assume that it will be out in 6.02. Interesting that the bug is marked resolved before the code is GA.
From the resolution:
Affected files ...
... //depot/main/ZimbraBuild/lib/Zimbra/Mon/LoggerSchema.pm#8 edit
... //depot/main/ZimbraServer/src/libexec/zmlogger#37 edit
When is 6.0.2 going to be released? I'm currently evaluating ZCS as a replacement for an Exchange based setup but after installing 6.0.1 on a fresh centos 5 instance i was shocked to see that an idle default ZCS setup basically consumes most of the servers resources. When a live in production Exchange setup only consumes a small fraction of the resources that an idle freshly installed ZCS instance does I cannot recommend this for actual production use.
I reinstalled 6.0.1 from scratch and chose not to install the logger and snmp components.
Right now the major culprit seems to be the "clamscanner" the seems to get started in regular intervals and consumes 100% cpu for some time. Given that this is a default install with no accounts created yet i wonder what kind of complex work exactly it is doing.
I tried disabling the Anti-Spam and Anti-Virus services in the servers services configuration but even after a reboot the clamscanner is still active.
How can I disable it?
Scratch that. I was misreading the command line of the process. The actual culprit looks like this:
Code:/opt/zimbra/java/bin/java -XX:ErrorFile=/opt/zimbra/log -client -Xmx256m -Dzimbra.home=/opt/zimbra -Djava.library.path=/opt/zimbra/lib -Djava.ext.dirs=/opt/zimbra/java/jre/lib/ext:/opt/zimbra/lib/jars:/opt/zimbra/lib/ext-common:/opt/zimbra/lib/ext/clamscanner com.zimbra.common.util.ConsoleRunner com.zimbra.cs.account.ProvUtil -l gs zimbra.localdomain