我是玻璃鱼的新手。我在数字海洋中有一个带有 Ram 512 mb 的 vps。我只运行 1 个域和 1 个简单的 Web 服务应用程序。但是 glassfish 没有我的命令就停止了。有什么建议吗?
我使用 glassfish 4.1.1
为特雷弗编辑。我忘了说错误日志。我检查了错误日志。没有日志显示错误或 glassfish 停止的原因。重启的时候还可以,但是几个小时后又出现了
我是玻璃鱼的新手。我在数字海洋中有一个带有 Ram 512 mb 的 vps。我只运行 1 个域和 1 个简单的 Web 服务应用程序。但是 glassfish 没有我的命令就停止了。有什么建议吗?
我使用 glassfish 4.1.1
为特雷弗编辑。我忘了说错误日志。我检查了错误日志。没有日志显示错误或 glassfish 停止的原因。重启的时候还可以,但是几个小时后又出现了
您很有可能内存不足。
默认情况下,服务器已-Xmx512m
设置,这意味着堆大小可以增加到 512MB。由于这是您在 DigitalOcean 机器上可用的全部内容,因此它将以较低的数量开始,并随着您将应用程序部署到它而增加。一旦 GlassFish 尝试使用的内存超出您的 DigitalOcean 机器的可用内存,它就会死掉。
将其减少到类似的东西-Xmx256m
可能会给你更多的稳定性。对于简单的应用程序,您应该可以接受。
注意:您可能还想减少
-XX:MaxPermSize=192m
to-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”,它是用于创建新配置的模板。确保你改变了正确的!如果您不确定,只需更改两者。