By the way, what virtualization technology do you use for your installation?
We use OpenVZ.
In OpenVZ container you could set and monitor different system parameters and even lack of resources of different types. The problem is that JavaVM is working sometimes unpredictable in virtualized server environment.
For example: you have to set 'privvmpages' parameter incredibly high (comparing to normal setting, calculated on base of installed RAM), even unlimited, in order to make Zimbra work correct.
No errors, nothing interesting in logs, all services in process list, zmcontrol status is ok, ports are all opened. And very similar situation. No response of services and so on. Anyway, software and OS problem, not Zimbra
We have two servers with 8Gb RAM onboard each, 3+3 openvz containers with zimbra components and approximately ~20000 accounts with average post traffic approximately 12000 +/- 5000 mails for a day. All works fine. After carefull tuning of system parameters, including sysctl.conf.