在低规格虚拟机上运行 zimbra

在低规格虚拟机上运行 zimbra

我正在尝试在运行 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 的虚拟机器具一击。

相关内容