[原创]java.lang.OutOfMemoryError:nativeGetNewTLA  解决方案_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3232 | 回复: 1   主题: [原创]java.lang.OutOfMemoryError:nativeGetNewTLA  解决方案        下一篇 
panpan.nie
注册用户
等级:大校
经验:4754
发帖:217
精华:2
注册:1970-1-1
状态:离线
发送短消息息给panpan.nie 加好友    发送短消息息给panpan.nie 发消息
发表于: IP:您无权察看 2015-6-18 16:19:37 | [全部帖] [楼主帖] 楼主

问题描述:

java.lang.OutOfMemoryError:nativeGetNewTLA 发生这种内存溢出的话 一般就是调整下默认的-XXtlasize=2k这个参数么?

我想问的是,这个参数值设置多少才合适?有上限值没? 

解决方案参考:

本文主要就是针对nativeGetNewTLAl错误的分析。

这个错误经常是发生JRockitJVM上的,如果都用hotspot或者J9JVM可能不会遇到这个问题。

针对这个问题在查找的时候一定要看清楚你使用的JRockit的版本,不是看大版本(如果1.6.01.5.0等),要看Releases,如下:

Releases
R26.4 and older
R27.1 - R27.2
R27.3 and later
R27.3 and later
R27.3 and later
R27.3 and later
R27.3 and later


首先了解一下TLA:

TLA 全称是thread local area,它是在heap或者nursery中分配的一个块空间,是thread在执行的时候自己说占用的,具体的配置参数有:

-XXtlaSize:min=<size>,preferred=<size> -XXlargeObjectLimit:<size> -XXminBlockSize:<size>


一个thread可以将一下小的对象分配在TLA区,这些对象是不需要和其他thread进行同步的,然后TLA里分配的对象也可以是非thead本地,它可以被其他任何thread所访问,而且也会被GC.如果当前的TLA占满了,就会继续申请新TLA区空间。

TLA的大小会影响其使用和分配的效率和速度,同时会影响GC的发生频率。更大一点的TLA区会让thead可以分配更大的对象在TLA而减少申请新TLA的频率。

R27.2以后的版本是运行thread将非常大的对象保存在TLA的。也就是说,增加TLA的大小可以预防分配对象时内存不够的问题,但是会增加发生内存碎片的问题。在R27.1以后的版本中,TLA的大小是动态的依赖当前的空闲空间大型,变化范围在minimumpreferred大小之间。

增加TLA的大小对thread分配大对象的是有一定的好处。

增加TLA的最小值minimum可能会提高GC的次数。

减少preferred大小对应用程序中,thread对一些对象在消失之前分配内存是有好处的。

一个通用的设置规则是,minimum 2-4k, preferred 16-256k 比如:

de>java -XXtlaSize:min=1k,preferred=512k MyApplicationde>


解决java.lang.OutOfMemoryError: nativeGetNewTLA.就可以对这些相关参数进行调优。

-XXtlaSize  默认大小是2kB, minimum不能小于large object limit

其他一些经验:

-XXlargeObjectLimit <= -XXtlaSize:min <= -XXminBlockSize
-XXtlaSize:min <= -XXtlaSize:preferred


北京联动北方科技有限公司北京联动北方科技有限公司

北京联动北方科技有限公司

官方链接:

http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionXX.html#wp1020097
http://docs.oracle.com/cd/E15289_01/doc.40/e15062/optionxx.htm#i1020988




赞(0)    操作        顶端 
guo.ye
注册用户
等级:少校
经验:1216
发帖:39
精华:0
注册:1970-1-1
状态:离线
发送短消息息给guo.ye 加好友    发送短消息息给guo.ye 发消息
发表于: IP:您无权察看 2015-6-29 17:16:29 | [全部帖] [楼主帖] 2  楼

北京联动北方科技有限公司北京联动北方科技有限公司北京联动北方科技有限公司北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论