OpenVZ 下的 Java 和虚拟机下的托管

OpenVZ 下的 Java 和虚拟机下的托管

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/另一个托管。

更多阅读请见:

相关内容