Weblogic常见内存溢出问题解决方案_weblogic模拟内存溢出方法_JackyHwang的博客-程序员秘密

技术标签: JVM  Weblogic  内存溢出  

Java内存结构

Java Memory Model
参考链接:http://ifeve.com/under-the-hood-runtime-data-areas-javas-memory-model/

解决方案

java.lang.OutOfMemoryError: Java heap space

问题原因

指定的Java heap space过小

解决方案

修改weblogic安装目录\user_projects\domains\XXX_domain\bin\setDomainEnv.cmd的如下配置:

if "%JAVA_VENDOR%"=="Sun" (
	set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m
	set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m
) else (
	set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m
	set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m
)

根据当前配置文件指定的JVM厂商(如BEA、HP、IBM、Sun等),以及JVM是否运行在64位模式(JAVA_USE_64BIT),在恰当的位置修改配置;否则可能会因为修改了无效的配置而不能解决问题。

java.lang.OutOfmemoryError: PermGen Space

问题背景

PermGen Space的全称是Permanent Generation Space,是指内存的永久保存区域。这一部分用于存放class和meta的信息,class在加载的时候被放入PermGen Space区域。它和存放instance的heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen Space进行清理。所以如果某个应用需要加载很多class,就有可能出现PermGen Space错误。
2014年3月发布的Java 8删除了HotSpot JVM中的永生代内存(PermGen,永生代内存主要用于存储一些需要常驻内存、通常不会被回收的信息),而是改为使用本地内存来存储类的元数据信息,并将之称为:元空间(MetaSpace),这意味着以后不会再遇到java.lang.OutOfmemoryError: PermGen Space错误。

问题原因

指定的PermGen Space过小

解决方案

修改weblogic安装目录\user_projects\domains\XXX_domain\bin\setDomainEnv.cmd的如下配置:

set MEM_PERM_SIZE_64BIT=-XX:PermSize=128m

set MEM_PERM_SIZE_32BIT=-XX:PermSize=128m

if "%JAVA_USE_64BIT%"=="true" (
	set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%
) else (
	set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%
)

set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m

set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m

if "%JAVA_USE_64BIT%"=="true" (
	set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_64BIT%
) else (
	set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_32BIT%
)

weblogic容器内存溢出

上面介绍的是修改部署在weblogic容器上domain的JVM配置,只能解决domain内存溢出的问题。如果是weblogic容器本身内存溢出,则可以进一步修改weblogic容器本身的JVM配置。
修改weblogic安装目录\wlserver_X.X\common\bin\commEnv.cmd的如下配置:

@rem set up JVM options
if "%JAVA_VENDOR%" == "Oracle" goto oracle
if "%JAVA_VENDOR%" == "Sun" goto sun

goto continue

:oracle
if "%PRODUCTION_MODE%" == "true" goto oracle_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms128m -Xmx256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:oracle_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms128m -Xmx256m
goto continue


:sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set JAVA_VM=-client
set MEM_ARGS=-Xms32m -Xmx200m -XX:MaxPermSize=128m -XX:+UseSpinning
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms32m -Xmx200m -XX:MaxPermSize=128m -XX:+UseSpinning
goto continue

验证方法

domain启动的时候会将JVM配置输出到控制台,可以据此验证修改的JVM配置是否生效。

JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m  -XX:MaxPermSize=256m
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huanggj123/article/details/81911536

智能推荐

力扣炼题572. 另一个树的子树_力扣572_TEAVAMC的博客-程序员秘密

题意给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2返回 true,因为 t 与 s 的一个...

多租户&多账户&多公众号_saas微信公众平台设计思路_程序员石磊的博客-程序员秘密

saas是目前比较流行的模式,不做过多的介绍。怎么实现部署一套服务来实现多租户或多账号或公众号的微信平台呐?其实思路简单了,想起来几年前用的jeecms,一套程序,能快速生成很多网站,组成一个站群。实现思路1.配置公众号信息设计一个微信信息配置表:2.在微信公众平台微信公众号中的接口地址方式一:假设只有一个独立域名,配置微信公众号中的接口地址可以采用一个公众号对应一个二级域名方式...

[转]React 监听屏幕尺寸变化(转载请删除括号里的内容)_react获取屏幕改变事件_树根朽木的博客-程序员秘密

React 监听屏幕尺寸变化1.在componentDidMount()中加入监听器componentDidMount() {this.screenChange();}screenChange() {window.addEventListener('resize', this.resize);}resize()方法中,定义了屏幕尺寸变化后需要执行的代码2.在constructor中绑定resize()constructor(props) { ...

决策树算法实例_htfenght的博客-程序员秘密

机器学习算法完整版见fenghaootong-githubTitanic预测哪些乘客会幸存下来数据集数据特征: Survived:是否存活(0代表否,1代表是) Pclass:社会阶级(1代表上层阶级,2代表中层阶级,3代表底层阶级)Name:船上乘客的名字Sex:船上乘客的性别Age:船上乘客的年龄(可能存在 NaN)SibSp:乘客在船上的兄弟姐妹和配偶的数量...

Python爬虫进行Web数据挖掘总结和分析 这是我见过最牛逼的教程_基于python的网络爬虫及数据挖掘项目_冠亦Python的博客-程序员秘密

利用Python****爬虫进行Web数据挖掘已经越来越普遍,网上的各种Python爬虫资料教程比较多,但是很少有人对Web数据挖掘进行系统地总结和分析。从目标上来讲,Web数据挖掘分为三类。最常见的是对于网站内容的爬取,包括文本、图片和文件等;其次是对于网站结构的爬取,包括网站目录,链接之间的相互跳转关系,二级域名等;还有一种爬虫是对于Web应用数据的挖掘,包括获取网站CMS类型,Web插件等。0x02 网站内容挖掘网站内容挖掘应用最广,最为常见,网上的Python爬虫资料大多也都属于这类。爬取下的

Android实现自定义圆角边框渐变_android 渐变边框_孜燃的博客-程序员秘密

Android实现自定义圆角边框渐变 各式各样的布局实现

随便推点

HTML5和CSS3开发第五章课后作业_北大青鸟课程介绍页面html_suixinCaesar的博客-程序员秘密

1.制作图5.38所示的北大青鸟课程介绍页面。页面要求如下,>使用<div>.<p>.<span>等标签编辑页面,页面整体背景颜色使用线性渐变(#ECECEC,#FFFFED).课程特色字体颜色为绿色(#5C9815),设计理念字体颜色为橙色(#F26522).>课程特色和设计理念每行开头带背景颜色的字体为白色,背景颜色从提供作业素材的页面效果图中获...

金旭亮博客之“计算机学习、教育与专业指导”主页_bitfan的博客-程序员秘密

金旭亮博客之  “计算机学习、教育与专业指导”主页  2011年7月7日 《去培训与闯北京》,介绍我对于初学者参加培训与是否到北京等发展的建议2011年3月13日,发表《“智商平平”学软件》针对普通人学习软件方式与方法的建议。 2011年2月15日,发表《 “一直在山寨,很少有创新”的中国》,反响热烈…… 2011年1月30日,发表《磨刀与砍柴》

adlink.php id=,利用BIOS-ID获得主板的信息_sunlee0520的博客-程序员秘密

利用BIOS-ID获得主板的信息发布时间:2010-09-08 02:16:59 作者:佚名 我要评论利用BIOS-ID获得主板的信息以下是AWARD的BIOS-ID,同时也会逐步加入新的代码的。在计算机启动,进行设备自检时,按下PAUSE键暂停,这时屏幕左下端的一段字符串就是我们所说的BIOS-ID。利用BIOS-ID获得主板的信息以下是AWARD的BIOS-ID,同时也会逐步加入新的...

整理:几款好用的Markdown编辑器_editor.md编辑器替代_To_Young的博客-程序员秘密

转载From:http://blog.csdn.net/bat67/article/details/72804251 感谢原作者。Markdown具有很多优点:写作中添加简单符号即完成排版,所见即所得。让你专注于文字而不是排版。格式转换方便,Markdown 的文本你可以轻松转换为 html、pdf等。以保存称纯文本       支持Markd...

【项目部署】JavaWeb项目部署到云服务器(Centos8)_java代码部署到云服务器_Coder陈、的博客-程序员秘密

本文主要描述了如果将Java项目和Vue项目从本地打包到云服务器上,包括前期的环境配置以及如果让项目保持在后台挂载,由于不熟悉,在部署项目的时候花了很长时间,可能出现的问题也会在本文中列举出来,没有特殊情况的话,按照这个流程会很顺利的实现项目部署和运行。

samba option_Volatile_xian的博客-程序员秘密

摘自:http://www.samba.org/samba/docs/using_samba/ch10.htmlSamba Printing OptionsTable 10-2 summarizes the Sambaprintingoptions.Table 10-2. Printing configuration optionsOption

推荐文章

热门文章

相关标签