outofmemoryerror-weblogic的非堆内存MaxPermSize与系统max locked memory关联

问题描述

weblogic的非堆内存MaxPermSize与系统max locked memory关联

weblogic加载jsp预编译出现内存溢出,OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
一查是MaxPermSize设置的太小了,想调大一点,但同事说系统参数max locked memory=64设置的不够,这个参数没放大调了MaxPermSize也没用,然后懵逼了啊,这两个参数有什么关联吗

解决方案

一个是操作系统级的,一个是jvm级的

时间: 2024-11-08 20:08:56

outofmemoryerror-weblogic的非堆内存MaxPermSize与系统max locked memory关联的相关文章

centos中修改tomcat中JVM非堆内存默认配置解决内存溢出

系统CentOS6.4下yum安装了tomcat6和jdk1.6,安装配置过程如下: http://www.111cn.net/sys/CentOS/72007.htm tomcat中部署两个项目A.B,同时部署时报内存溢出错误,系统CPU负载飙升,而单独部署A.B 和 只部署多个A或者只部署多个B项目系统运行正常. 查看日志报错:OutOfMemoryError: PermGen space-.   查询资料得知:是非堆溢出(永久保存区域溢出) 这种错误常见在web服务器对JSP进行pre c

jvm 非堆内存是否可gc

问题描述 如题:各位大侠,我在网上看了很多帖子,各执一词,欢迎讨论! 解决方案 解决方案二:GC不会在主程序运行期对PermGenSpace进行清理解决方案三:应该不会的解决方案四:非堆内存有gc的必要吗?栈里的数据随着方法的调用而产生,又随着方法的退出而释放内存,整个main方法退出之后,所有的栈内存都释放了解决方案五:引用3楼nokiaisacat的回复: 非堆内存有gc的必要吗?栈里的数据随着方法的调用而产生,又随着方法的退出而释放内存,整个main方法退出之后,所有的栈内存都释放了 +1

(2)java堆内存

java堆内存结构图 [名词解释]--->eden,so,s1通称为新生代对象储区--->tenured称为老年代对象存储区--->s0和s1也称为from和to区域,是两块大小相等,可以互换角色的内存空间.--->新生代的大小一般设置为真个堆内存空间的1/3或1/4左右 [行为解释]--->绝大数情况下,对象首先分配在eden区--->每进行一次垃圾回收,如果对象还存活,则年龄加1.--->不同年龄的对象存放在java堆不同的区域.--->不同区域的垃圾回

jvm中堆和非堆的划分,请不要从别处粘帖内容或者发链接给我,看清题目再回答

问题描述 jvm中堆和非堆的划分,请不要从别处粘帖内容或者发链接给我,看清题目再回答 哪位大神能给我讲解一个问题,我们使用参数-Xms -Xmx设置堆内存的最小值和最大值,-XX:PermSize -XX:MaxPermSize设置非堆内存的最小值和最大值,这里的非堆内存包括Permanent Space(永久存储区).但是为什么又说jvm中的堆内存分为三部分:Permanent Space 永久存储区.Young Generation Space 新生区.Tenure generation s

关于java堆内存溢出的几种情况(转)

  [情况一]: java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环: 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx3062m</jvm-arg> [情况二] java.lang.OutOfMemoryError: GC overhead lim

Java堆内存

  Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象.   在 Java 中,堆被划分成两个不同的区域:新生代 ( Young ).老年代 ( Old ).新生代 ( Young ) 又被划分为三个区域:Eden.From Survivor.To Survivor.   这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收.   堆的内存模型大致为:   新生代:Young Generation,主要用来存放新生的对象.   老

Linux堆内存管理深入分析(上)

Linux堆内存管理深入分析 (上半部) 作者:走位@阿里聚安全 0 前言 近年来,漏洞挖掘越来越火,各种漏洞挖掘.利用的分析文章层出不穷.从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏洞利用两种.国内关于栈溢出的资料相对较多,这里就不累述了,但是关于堆溢出的漏洞利用资料就很少了.鄙人以为主要是堆溢出漏洞的门槛较高,需要先吃透相应操作系统的堆内存管理机制,而这部分内容一直是一个难点.因此本系列文章主要从Linux系统堆内存管理机制出发,逐步介绍诸如基本堆溢出漏洞.基于unlink的堆溢

Java堆内存的10个要点

我刚开始学习Java编程时,可不知道什么是堆内存或堆空间(heap space),甚至根本不管对象创建时都放在哪里去了.正式了写一些程序后,经常会遇到java.lang.outOfMemoryError等错误,我才开始关注堆内存.对大多数程序员都经历过这样的过程,因为学习一种语言是非常容易来的,但是学习基础是非常难的,因为没有什么特定的流程让你学习编程的每个基础,使你发觉编程的秘诀. 对于程序员来说,知道堆空间,设置堆空间,处理堆空间的outOfMemoryError错误,分析heap dump

Linux堆内存管理深入分析 (下)

Linux堆内存管理深入分析 (下半部)         作者:走位@阿里聚安全  0 前言回顾 在上一篇文章中,详细介绍了堆内存管理中涉及到的基本概念以及相互关系,同时也着重介绍了堆中chunk分配和释放策略中使用到的隐式链表技术.通过前面的介绍,我们知道使用隐式链表来管理内存chunk总会涉及到内存的遍历,效率极低.对此glibc malloc引入了显示链表技术来提高堆内存分配和释放的效率. 所谓的显示链表就是我们在数据结构中常用的链表,而链表本质上就是将一些属性相同的"结点"串联