Zimbra's problem is the OBC/Java/memory handling. ie. Java sucks in OpenVZ container because of it's silly memory handling. Java want's all memory addresses defined from start. OpenVZ does not like that, it's designed to use "shared memory". So with Java you can only commit the memory that the host/VM really has, no more. You just have to define REAL memory for any Zimbra VM and I would go with a minimum of 4Gb /VM. Also use a minimum of 2 cores. 4-8 recommended. I ones accidentally moved a Zimbra VM to 4 core node from 8 core node and did not realize the container had 8 cores defined.
Zimbra 8 run just fine with that conf. If you run Zimbra on OpenVZ container be sure to have the /etc/hosts set up correctly. ie. you need to check your IP (with "ip a s") and more than likely you're IP for localhost is 127.0.0.2. NOT 127.0.0.1. Your stats will not work otherwise. Also remove Ubuntu 12 stats with apt-get remove sysstats and install an older sysstat_9.0.6-2_amd64.deb version from
here (optionally edit.
/etc/default/sysstat to "true" and restart sysstat.) Or your
/opt/zimbra/zmstat/zmstat.out will grow REALLY fast.