-1

我是玻璃鱼的新手。我在数字海洋中有一个带有 Ram 512 mb 的 vps。我只运行 1 个域和 1 个简单的 Web 服务应用程序。但是 glassfish 没有我的命令就停止了。有什么建议吗?

我使用 glassfish 4.1.1

为特雷弗编辑。我忘了说错误日志。我检查了错误日志。没有日志显示错误或 glassfish 停止的原因。重启的时候还可以,但是几个小时后又出现了

4

1 回答 1

1

您很有可能内存不足。

默认情况下,服务器已-Xmx512m设置,这意味着堆大小可以增加到 512MB。由于这是您在 DigitalOcean 机器上可用的全部内容,因此它将以较低的数量开始,并随着您将应用程序部署到它而增加。一旦 GlassFish 尝试使用的内存超出您的 DigitalOcean 机器的可用内存,它就会死掉。

将其减少到类似的东西-Xmx256m可能会给你更多的稳定性。对于简单的应用程序,您应该可以接受。

注意:您可能还想减少-XX:MaxPermSize=192mto-XX:MaxPermSize=128m。如果您使用的是 Java 8,那么这不再重要,并且不会使用该值。对于 Java 7,减少它会有所帮助。

通过管理控制台更改此值http://[$HOSTNAME]:4848并转到Configurations-> server-config-> JVM Settings,然后单击 JVM Options 选项卡(您需要更改值,然后单击保存,然后重新启动 GlassFish)。

或者直接在domain.xml里改(注意要正确)

glassfish41/glassfish/domains/domain1/config/domain.xml

您会注意到该值在该文件中存在两次。一个是实际的 server-config,用于服务器本身,另一个是“default-config”,它是用于创建新配置的模板。确保你改变了正确的!如果您不确定,只需更改两者。

于 2016-01-09T11:56:47.637 回答