我是玻璃鱼的新手。我在digitalocean有一个vps,Ram 512 mb。我只运行了一个域和一个简单的web服务应用程序。但是玻璃鱼没有我的命令就停了下来。有什么建议吗?
我使用玻璃鱼4.1.1
为Trevor编辑。我忘了说错误日志了。我查看了错误日志。没有日志显示错误或玻璃鱼停止的原因。当我重新启动时,它运行正常,但几个小时后,它再次发生
很有可能内存不足。
默认情况下,服务器设置了-Xmx512m
,这意味着堆大小可以增加到512MB。由于这是您的DigitalOcean机器上的全部可用内存,因此它将以较低的数量开始,并随着应用程序的部署而增加。一旦GlassFish试图使用超出您的DigralOcean机器所能使用的内存,它就会死。
将其减少到类似-Xmx256m
的值可能会给您带来更大的稳定性。对于简单的应用程序,你应该可以接受。
注意: 您可能还需要将
-XX:MaxPermSize=192m
减小到-XX:MaxPermSize=128m
。如果您使用的是Java 8,那么这不再重要,也不会使用该值。对于Java7,减少这一点会有所帮助。
通过http://[$HOSTNAME]:4848
的管理控制台更改此值,然后转到Configurations
->server-config
->JVM Settings
,然后单击JVM选项选项卡(您需要更改该值,然后单击保存,然后重新启动GlassFish)。
或者直接在domain.xml中更改它(注意正确)
glassfish41/glassfish/domains/domain1/config/domain.xml
您会注意到该值在该文件中存在两次。一个是用于服务器本身的实际服务器配置,另一个是"默认配置",它是用于创建新配置的模板。一定要换正确的!如果你不确定,那就两者都改。