当前位置: 首页 > 知识库问答 >
问题:

玻璃鱼4服务器意外停止

储思聪
2023-03-14

我是玻璃鱼和一般应用程序服务器的新手。我有一个运行乌班图的亚马逊 EC2 实例,并安装了玻璃鱼 4。它启动没有问题,但过了一会儿,GlassFish服务器就会自行关闭。我已经查看了服务器.log,但一切似乎都很正常,并且没有描述任何故障或关闭的条目。关于原因的任何输入,或者我应该在哪里寻找任何线索?

共有1个答案

沈巴英
2023-03-14

我正面临着完全相同的情况。我怀疑原因是JVM的RAM用完了,因为免费的EC2实例有一个600 MB的黑鬼(猫/过程/梅明福验证)。为了寻找线索,我为玻璃鱼域启用了JVM日志记录,为此,我在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,请参阅如何将交换空间添加到 EC2 实例?

服务器过去每天都会崩溃,但如果进行交换,它已经有几周没有崩溃了。

 类似资料:
  • 我已经完成了在glassfish v4中添加SSL证书的步骤。我已经通过浏览器和java swing客户端验证了它的有效性(我在客户端使用apache的http客户端库) 什么不工作是管理控制台!由于成功导入SSL,我不能再连接到管理控制台,http://www.myhost.com:4848,我仍然得到登录屏幕,总是工作的管理员用户名/密码组合已停止工作。我也注意到当尝试部署一个网络应用程序从n

  • 我编写了一个maven应用程序,应该在Glassfish 4上运行。 标准应用程序配置如下所示: 现在的问题是,生成Json的资源应该使用jackson 2.3注释。但我的玻璃鱼用了一些鳕鱼。。。提供json的包。科德豪斯是杰克逊的旧版本。我想使用fasterxml中的新注释,它提供了@JsonIdentityInfo注释。 我想我可以通过写以下内容来解决我的问题: 但是没有效果。现在Glassf

  • 问题内容: 我正在下载Java EE,似乎有许多不同的下载选项。我不确定应该选择哪一个。Java EE似乎与GlassFish打包在一起。谁能告诉我这是什么,它对我有什么好处? 其次,如果我只是想玩转并了解Java EE,那么对我来说下载的是什么?列出选项的链接在下面… Java EE下载选项 问题答案: 首先,将近五年前它被称为Java EE。首字母缩略词J2EE仍指5.0之前的旧Java EE

  • 我将mysql驱动程序放入glassfish/admin1/lib,我在尝试与GlassFish 3.1.2建立连接时收到此错误 为SimpleCRUD_ConnectionPool Ping连接池失败。类名错误或未为:com设置类路径。mysql。jdbc。jdbc2。可选择的MysqlDataSource请检查服务器。记录更多细节。 野兔配置: 池名称:SimpleCRUD_Connectio

  • 这是我在尝试更改主密码时看到的。。。我尝试了几乎所有字符、数字、特殊字符的组合/home/larry$/home/glassfish/bin/asadmin更改主密码--savemasterpassword=true输入当前主密码

  • 问题内容: 我有一个用@Schedule注释的方法,该方法有时会被容器调用。 问题是在某些情况下,我希望此方法引发异常以导致正在进行的事务回滚。但是,如果我执行两次以上,计时器将被删除,不再调用! 我知道我可以使用配置在domain.xml中重新安排计时器 但是我的问题是,在部署应用程序时可以配置此设置吗? 在以下位置找不到它: 是否可以通过编程方式进行某些操作? (我将这样的服务器配置放在配置文