ubuntu – Glassfish 4服务器意外停止

我是GlassFish的新手,也是一般的应用服务器.我有一个运行Ubuntu的Amazon EC2实例,并安装了GlassFish 4.它启动时没有问题,但一段时间后,GlassFish服务器就会自行关闭.我查看了server.log,但一切看起来都很正常,并且没有条目描述任何失败或关闭.关于可能是什么原因的任何输入,或者我应该寻找任何线索的地方?
我面临着同样的情况.我怀疑原因是JVM用完了RAM,因为免费的EC2实例有一个小的600 MB(cat / proc / meminfo来验证).为了查找线索,我打开了Glassfish域的JVM日志记录,为此,我将以下行添加到< domain> /config/domain.xml中的JVM参数:
<jvm-options>-XX:LogFile=${com.sun.aas.instanceRoot}/logs/jvm.log</jvm-options>
<jvm-options>-XX:+LogVMOutput</jvm-options>

稍后当Glassfish关闭时,jvm.log包含许多消息,如下所示:

<dependency_Failed type='unique_concrete_method' ctxk='java/util/ArrayList' x='java/util/ArrayList iterator ()Ljava/util/Iterator;' witness='javax/faces/component/UIComponentBase$ChildrenList' stamp='13211.267'/>
<dependency_Failed type='unique_concrete_method' ctxk='java/util/ArrayList' x='java/util/ArrayList iterator ()Ljava/util/Iterator;' witness='javax/faces/component/UIComponentBase$ChildrenList' stamp='13211.267'/>
<dependency_Failed type='unique_concrete_method' ctxk='java/util/ArrayList' x='java/util/ArrayList iterator ()Ljava/util/Iterator;' witness='javax/faces/component/UIComponentBase$ChildrenList' stamp='13211.267'/>

我从来没有发现它们真正意味着什么,但是我将它们发布在这里以防万一有人和我一样走路,并为他们搜索谷歌.

最后我查看了/ var / log / syslog(我找到的那个实际上名为syslog.1),瞧!我得到了JVM进程耗尽内存并被杀死的确认:

Dec 20 07:44:44 ip-172-31-33-222 kernel: [1518108.211801] Out of memory: Kill process 22248 (java) score 743 or sacrifice child
Dec 20 07:44:44 ip-172-31-33-222 kernel: [1518108.211833] Killed process 22248 (java) total-vm:1622220kB,anon-RSS:447752kB,file-RSS:0kB

在我看来,增加交换空间应该可以解决问题.事实证明EC2交换空间认为0,所以我分配了1 GB,见How do you add swap to an EC2 instance?

服务器过去常常每天崩溃,但是交换它并没有在几周内崩溃.

相关文章

ubuntu退出redis的示例:指定配置文件方式启动源码redis:roo...
ubuntu中mysql改密码忘了的解决方法:1.在终端中切换到root权...
ubuntu安装mysql失败的解决方法原因:可能是原有的MySQL还有...
使用centos和ubuntu建站的区别有以下几点1.CentOS是Linux发行...
ubuntu图形界面和字符界面切换的方法:可以通过快捷键CTRL+A...
ubuntu中重启mysql失败的解决方法1.首先,在ubuntu命令行中,...