zoukankan      html  css  js  c++  java
  • WebLogic: 内存溢出

            每次部署完项目,重启Weblogic服务,总是遇到java.lang.OutOfMemoryError: PermGen space,其实物理内存也是够的,当时的解决方法就是多重启几次Weblogic来解决这个问题,但是总觉得问题不应该用网管式的方法来解决问题,重启不应该是万能的,想着问题可能出现在PermGen space内存的大小上,但是根据JVM的机制,不是有自动回收垃圾机制吗?为什么不会自动回收呢?在网上找了找资料,了解到虽说JVM有自动回收机制,但是JVM对load class不会回收的,PermGen space(这块正好是存放Class文件和Meta文件),所以如果PermGen space设置空间太小必然导致内存的溢出。

             如何解决PermGen space(permanent heap generation space 永久堆栈方法区)内存大小的问题,其实非常简单,直接对“setDomainEnv.sh”文件中的 MaxPermSize进行设置,根据服务器内存大小对其进行设置。

            setDomainEnv.sh在 “/base_domain/bin”这个目录下,

    vi setDomainEnv.sh

      然后查找“MaxPermSize”,在vi编辑下 ?MaxPermSize,查找到这个值以后,修改64位和32位这两个最大永久值,接下重启Weblogic就OK了。

    MEM_MAX_PERM_SIZE_64BIT="-XX:MaxPermSize=512m"
    export MEM_MAX_PERM_SIZE_64BIT
    
    MEM_MAX_PERM_SIZE_32BIT="-XX:MaxPermSize=512m"
    export MEM_MAX_PERM_SIZE_32BIT

    PS:附加一点Weblogic的基本操作,防止自己再次忘记

    • 杀掉Weblogic服务,首先查找 ps -ef|grep weblogic,然后根据ID号,kill -9 ID
    • 后台启动Weblogic服务器(进入/base_domain/bin目录下):nohup ./startWeblogic.sh &
  • 相关阅读:
    超级英雄Hero
    2019 CSP-J 游记(CQ LNBS考场 的退役之战)
    一文梳理Web存储,从cookie,WebStorage到IndexedDB
    一文梳理同源策略与跨域技术
    一文梳理JavaScript中的this
    一文梳理JavaScript 事件循环(Event Loop)
    简单梳理JavaScript垃圾回收机制
    一文梳理JS事件
    src与href
    深入理解CSS定位—浮动模型
  • 原文地址:https://www.cnblogs.com/taoSir/p/4835690.html
Copyright © 2011-2022 走看看