在 VPS 上启动 Glassfish 时出现问题

在 VPS 上启动 Glassfish 时出现问题

我正在尝试使用 Java 1.6 在我的 Ubuntu (8.04) VPS 上安装 Glassfishv3。

我最初尝试使用以下命令启动服务器:

asadmin 启动域

并收到以下错误消息:

JVM 启动失败:com.sun.enterprise.admin.launcher.GFLauncherException:服务器过早退出,退出代码为 1。在服务器退出之前,它产生了以下输出:

VM 初始化期间发生错误无法为对象堆保留足够的空间

命令 start-domain 失败。

我尝试再次运行它并收到不同的消息:

等待 DAS 启动 启动域时出错:域 1。服务器提前退出,退出代码为 1。在服务器停止运行前,它产生了以下输出:

VM 初始化期间发生错误,无法为对象堆保留足够的空间,无法创建 Java 虚拟机。

命令 start-domain 失败。

如果我运行,cat /proc/meminfo我会得到以下内容(所有其他值都是 0kB):

MemTotal:  1310720 kB 
MemFree:   1150668 kB
LowTotal:  1310720 kB 
LowFree:   1150668 kB

我已经检查了内容glassfish/glassfish/domains/domain1/config/domain.xml并且JVM设置是:

-Xmx512m

如能提供任何帮助解决该问题,我们将不胜感激。

答案1

您收到的错误意味着 JVM 无法申请足够的内存来启动。尽管系统报告有大量可用内存,但由于内存过量使用机制,VPS 中的 mmap 调用也可能失败。

JVM 的 Xmx 选项是堆内存上限。您可能需要对其进行调整,但它不应阻止 glassfish 启动。您需要的是 Xms 选项。默认情况下,它是 128Mb,请先尝试降低它。

答案2

我的服务器内存限制类似,但我将 JVM 的内存设置降低到 128,然后启动了。不过,在 256 时似乎失败了。不确定这是否与我的 VPS 的“保证”RAM 有关。

相关内容