Skype 聊天
[10:27:47 PM] Koby: Xen is better for Java anyway
[10:28:11 PM] ME: does java have issues in other virts?
[10:28:47 PM] Koby: OpenVZ, yes.
[10:29:03 PM] ME: any reason why?
[10:29:04 PM] Koby: Crashes a lot.
[10:29:16 PM] Koby: It's very unstab
[10:29:17 PM] Johnson @ SolidShellSecurity.com: Koby, what server is your OpenVZ Container on?
Java 在 OpenVZ 下有问题吗?如果是,OpenVZ 与其他虚拟机有何不同?
我以前从未听说过这件事,并且非常好奇这是否真实。
答案1
Xen 和 OpenVZ 在内存管理方面有很大差异。
在 OpenVZ 中,内存被“动态”分配给主机,如果某个主机没有使用内存 - 那么该内存可以由另一个虚拟主机使用。
在 Xen 中 - 有一个“固定”的内存区域可供虚拟机使用,并且该内存不能被夺走。
如果您想运行占用大量内存的 Java 应用程序 - 使用 Xen 会更好/更容易。如果您可以控制 OpenVZ 主机 - 我想可以以某种方式配置内存管理以避免此类问题。
答案2
OpenVZ 上 Java 的常见问题是:
-bash-3.00# /usr/java/jre1.5.0_06/bin/java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
参见cat /proc/user_beancounters
参数privvmpages
。它允许控制应用程序分配的内存量。
您需要增加它以调整 Java,并且这只能从 OpenVZ 管理员处实现((因此您需要联系您的 VPS 托管支持以进行此更改或切换到 KVM/另一个托管。
更多阅读请见:
- http://wiki.openvz.org/UBC_secondary_parameters#privvmpages
- http://www.r00t.gr/openvz-vps-and-java-error-and-how-to-fix-it/
- https://unix.stackexchange.com/questions/109653/java-could-not-reserve-enough-space-for-object-heap-even-though-there-is-enoug
- https://forum.openvz.org/index.php?t=msg&goto=7057