我正在尝试在运行 ubuntu 10.04 的低规格虚拟机上安装 zimbra 服务器。我确实满足文档中所述的要求这里(1 GB RAM/5 GB 可用磁盘空间)。
我专门为此目的获得了虚拟机,因此可以安装任何有助于运行 zimbra 的东西。
我收到的错误是这样的:
zimbra@cloud:~$ bin/zmcontrol start
Could not create the Java virtual machine.
我很确定这与 Java 虚拟机内存不足有关 - 但我不知道如何减少需求,或者如何释放系统内存。
有人让 Zimbra 在 1GB RAM 上运行吗?我该怎么做?
编辑:更多细节...
将所需内存限制为 32 MB,Java 即可运行
billy@cloud:~$ java -Xmx32m -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.10) (6b20-1.9.10-0ubuntu1~10.04.2)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
将所需内存限制为 256 MB,Java 无法运行
billy@cloud:~$ java -Xmx256m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
答案1
问题的关键似乎在于 OpenVZ 向 Java 报告物理机的内存,而更合适的做法是报告虚拟机的内存分配。这导致 Java 虚拟机请求的内存多于虚拟机上可用的内存。
检查 beancounters 可以让你识别这个问题。就我而言,我在 上失败了privvmpages
。我的限制是 262144(4k 页),大约等于 1GB。kmemsize 报告为 2147483646,大约等于 2GB。
billy@cloud:~$ sudo cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
325: kmemsize 6381046 11556684 2147483646 2147483646 0
lockedpages 0 1011 999999 999999 0
privvmpages 164893 262377 262144 262144 100797
shmpages 658 1972 131072 131072 0
dummy 0 0 0 0 0
我还没有完全解决这个问题,因为我需要对 zimbra 做进一步的内存相关的调整 - 但我已经确定这是我的问题的原因,并且我所做的小调整使我能够继续进行安装(虽然我仍然会在稍后耗尽内存)。
我开始按照这样的思路调整内存:
zmlocalconfig -e mailboxd_java_heap_memory_percent=14
zmlocalconfig -e mailboxd_java_heap_new_size_percent=9
和这个
zmlocalconfig -e mysql_table_cache=250
为了让 Zimbra 运行zmlocalconfig
,我删除了zimbra
它/etc/init.d/
,并在执行配置命令后手动运行它。
希望这对其他人有帮助。
答案2
我知道这并不能直接回答你的问题,我自己也没有用过,但如果你在评估 Zimbra,也许值得给出Zimbra 的虚拟机器具一击。