`

weblogic BEA-000388 JVM called WLS shutdown hook

阅读更多

  刚接手一项目,weblogic部署环境,发现weblogic每隔几个小时就shutdown一次,经过跟踪发现既不是内存问题,也不是数据库连接池问题,更不是访问量过大引起。

  查询相关日志,只有以下几句shutdown的日志:

    <BEA-000388> <JVM called WLS shutdown hook. The server will force shutdown now>
    <BEA-000396> <Server shutdown has been requested by <WLS Kernel>>
    <BEA-000365> <Server state changed to FORCE_SUSPENDING>

  从上面的日志看来,更像是人为关闭weblogic产生的日志,一时间感觉没有头绪。经过半年多的查询各种相关资料,把问题范围锁定到jdk的相关问题。看到某文章上有一段话,大概是这样:When WebLogic Server running with the Sun JVM is shutdown, it is because there is a unwanted operating system call terminating the process.意思是说:当你的weblogic使用sun jvm时出现shutdown现象,是系统的一个不必要的操作,导致要关闭这个进程。而我的weblogic刚好使用的是sun jvm。

  该问题解决方案如下:

  确认你的weblogic使用的jdk是sun jdk还是JRockit jdk,然后需要在JAVA_OPTIONS加入以下参数

    A sun jdk-加: -Djava.awt.headless=true -Xrs( -Djava.awt.headless=true可以不用)

              B JRockit jdk-加: -Xnohup

        所以找到 setdomainenv.sh,在文件的最后找到 JAVA_OPTIONS="${JAVA_OPTIONS}"改成JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true -Xrs"或JAVA_OPTIONS="${JAVA_OPTIONS} -Xnohup "即可。

  关于修改JAVA_OPTIONS其实在很多相启动时的配置文件都可以修改,以上是linux环境weblogic修改方案。

 

      原理:

  -Xrs来
  设置XRS阻止了Java:trademark:运行时间环境处理任何内部或外部产生的信号,如SIGSEGV和SIGABRT。提出的任何信号都默认的操作系统处理程序处理。在JVM中禁用信号处理降低约2-4%的​​性能,这取决于应用程序。
       SIGABRT是中止一个程序,它可以被捕捉,但不能被阻塞。处理函数返回后,所有打开的文件描述符将会被关闭,流也会被flush。程序会结束,有可能的话还会core dump。 当程序调用abort(3)时,该进程会向自己发送SIGABRT信号。所以,SIGABRT一般用于信号中一些关键的处理,assert失败时也会使用它。你不应该去捕捉SIGSEGV和SIGABRT信号,如果收到这种信号,说明进程处于一个不确定的状态,很可能会直接挂起。

 

 

  

分享到:
评论

相关推荐

    关于禁用weblogic wls-wsat组件的步骤说明

    ### 关于禁用WebLogic WLS-WSAT组件的步骤说明 #### 一、概述 在WebLogic服务器中,WLS-WSAT (Web Services Atomic Transactions) 组件可能存在某些安全漏洞,为了保护系统免受潜在攻击,可以通过禁用此组件的方式...

    weblogic CVE-2018-3191 exp(含weblogic-spring-jndi-10.3.6.0.jar)

    自用CVE-2018-3191 weblogic反序列化exp。

    Weblogic10.3.6-2204-2207补丁集

    Weblogic10.3.6-2204-2207补丁集 WLS PATCH SET UPDATE 10.3.6.0.220719 Patch 34009030 10.3.6.0.220419 Patch 33791826 10.3.6.0.220118 Patch 33494814 Patch 32973233 Coherence 3.7.1 Patch 22 (3.7.1.22) wls...

    WebLogic CVE-2019-2725补丁.zip

    weblogic反序列化补丁包

    BEA WebLogic Server 管理指南

    BEA WebLogic Server 管理指南

    Weblogic-CVE-2019-2725补丁升级方法.docx

    《Weblogic-CVE-2019-2725补丁升级方法详解》 WebLogic Server是一款由甲骨文公司开发的企业级应用服务器,它为构建、部署和管理企业级Java应用程序提供了全面的平台。然而,随着技术的发展,安全漏洞的出现是不可...

    BEA-Weblogic-config

    ### 关于BEA WebLogic Server 10.0配置向导的理解与应用 #### 一、引言 BEA WebLogic Server是一款高级的企业级应用程序服务器,由BEA Systems开发并维护,现已被Oracle公司收购。它支持Java EE标准,提供了一个...

    linux命令行完整安装weblogic12c--及优化JVM---可用-附件资源

    linux命令行完整安装weblogic12c--及优化JVM---可用-附件资源

    K8 weblogic-CVE-2018-2628-getshell

    【K8 weblogic-CVE-2018-2628-getshell】是一个针对Oracle WebLogic Server的渗透测试工具,主要用于检验系统是否存在CVE-2018-2628漏洞并利用该漏洞获取shell权限。这个工具的使用应该严格限制在合法的安全测试环境...

    weblogic10.36 CVE-2018-2893补丁文件

    weblogic10.36 CVE-2018-2893补丁文件 最新补丁文件,修复 WebLogic(CVE-2018-2893)安全漏洞预警,oracle官方发布了2018年4月份的关键补丁更新CPU(CriticalPatchUpdate),其中包含一个高危的Weblogic反序列化漏洞...

    weblogic CVE-2018-2628--exp

    weblogic CVE-2018-2628--exp

    Weblogic CVE-2018-2628补丁

    CVE-2018-2628是Weblogic服务器中一个严重的安全漏洞,它涉及到Weblogic Server的WLS-Windows服务组件。这个漏洞允许未经身份验证的远程攻击者通过执行恶意构建的JMX请求来执行任意代码,从而对受影响的系统造成严重...

    Using Weblogic Server-Cluster

    Using Weblogic Server-Cluster

    64位weblogic--windows安装部署及常见问题解决

    位 WebLogic Server 在安装64位WebLogic Server之前,首先需要从Oracle官方网站下载适合64位Windows操作系统的WebLogic Server安装包。WebLogic Server 11g版本为10.3.6,而12c版本(如12.2.x)提供了更现代的功能...

    weblogic12c-windows版下载

    weblogic12c-windows版下载

    WebLogic CVE-2018-3191 payload

    WebLogic CVE-2018-3191 payload 检测工具。

    weblogic12c-linux12214

    weblogic12c-linux12214

    weblogic---Eclipse插件

    WebLogic是Oracle公司的一款强大的Java EE应用服务器,它提供了企业级的环境来部署、管理和运行基于Java的应用程序。而WebLogic Eclipse插件是专为Eclipse集成开发环境(IDE)设计的工具,使得开发者能够在Eclipse中...

    WebLogic CVE-2018-2628漏洞

    这个漏洞,也被称为"WebLogic WLS WebServices 未授权访问漏洞",允许未经身份验证的攻击者通过Web服务接口执行任意系统命令。解决此问题的补丁至关重要,因为如果不首先修补,可能为CVE-2018-2628提供入口点。 ...

Global site tag (gtag.js) - Google Analytics