`
zhang_xzhi_xjtu
  • 浏览: 536621 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JVM内存设置及Geronimo的OutOfMemoryError:PermGen问题

阅读更多
Geronimo在重复装载一个工程的时候抛java.lang.OutOfMemoryError: PermGen space 异常。
JVM的PermGen内存溢出了。

改动setjavaenv.bat中的设置解决该问题。

set JAVA_OPTS="-Xms512m" "-Xmx512m" "-XX:PermSize=512m" "-XX:MaxPermSize=512m"

JConsole中关于内存分区的说明。

Eden Space (heap): 内存最初从这个线程池分配给大部分对象。
Survivor Space (heap):用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。
Tenured Generation (heap):用于保持已经在 survivor space内存池中存在了一段时间的对象。
Permanent Generation (non-heap): 保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的,
Code Cache (non-heap):HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache)
分享到:
评论

相关推荐

    Caused by: java.lang.OutOfMemoryError: PermGen space解决方案

    总之,"java.lang.OutOfMemoryError: PermGen space"错误是由于Java虚拟机的 PermGen 区域内存不足造成的,可以通过增大 PermGen 区域的大小、升级JVM版本、优化类加载和库的使用等方式来解决。对于任何内存管理问题...

    解决OutOfMemoryError: PermGen space

    启动JConsole后,选择目标进程并查看内存页面下的“Perm Gen”部分,可以直观地看到当前PermGen space的使用情况,从而判断设置是否生效。 4. **优化代码**: - 减少不必要的类加载和字符串常量池的使用。例如,...

    java.lang.OutOfMemoryError: PermGen space及其解决方法

    通过以上方法,可以有效地解决因PermGen space不足导致的`java.lang.OutOfMemoryError`问题。需要注意的是,虽然增加PermGen space的大小是一种简单直接的方法,但从长远来看,优化代码和类加载机制才是更为根本的...

    java.lang.OutOfMemoryError: PermGen space

    - `-XX:PermSize` 参数用于设置JVM初始的非堆内存(即PermGen空间)大小,如 `-XX:PermSize=64M` 指定 PermGen 初始分配64MB。 - `-XX:MaxPermSize` 参数则是设定 PermGen 空间的最大值,如 `-XX:MaxPermSize=128M` ...

    Tomcat给我的java.lang.OutOfMemoryError: PermGen

    本文将针对两种常见的Java内存溢出错误——`java.lang.OutOfMemoryError: PermGen space`和`java.lang.OutOfMemoryError: Java heap space`进行详细的分析和解决方案的探讨。 首先,我们来看`java.lang....

    Eclipse中通过Tomcat运行J2EE项目java.lang.OutOfMemoryError PermGen space的解决方案

    解决 Eclipse 中通过 Tomcat 运行 J2EE 项目 java.lang.OutOfMemoryError PermGen space 的关键是增加 JVM 的内存空间,通过添加合适的参数,可以避免 PermGen space 溢出,确保项目的稳定运行。

    解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题

    此外,升级到Java 8及以上版本也是一个有效的解决方案,因为这些版本的JVM已经用Metaspace取代了PermGen,Metaspace具有更灵活的内存管理机制,可以自动扩展以适应应用需求,从而减少了此类内存溢出问题的发生。

    Myeclipse下java.lang.OutOfMemoryError Java heap space的解决

    - 这样设置后,JVM的初始堆内存大小为128MB,最大堆内存大小为512MB。根据实际需求调整这两个值的大小。 2. **优化代码逻辑**: - 检查并优化程序中可能存在的内存泄漏问题,确保不再使用的对象能够及时被垃圾...

    OutOfMemoryError-PermGen-space-的解决方案亲测有效

    最初尝试通过修改`catalina.bat`文件中的JVM参数来解决问题,但由于没有正确地指定PermGen空间的大小,导致问题仍然存在。随后,尝试在MyEclipse中调整Tomcat服务器的JVM参数,最终解决了问题。具体步骤包括: 1. *...

    java.lang.OutOfMemoryError: Java heap space 解决方法

    1. 使用 `-Xmx` 参数增加堆的最大使用内存:可以在启动 JVM 时添加 `-Xmx` 参数,例如 `-Xmx512m`,以设置堆的最大使用内存。 2. 使用 `-Xms` 参数设置堆的初始大小:可以在启动 JVM 时添加 `-Xms` 参数,例如 `-Xms...

    java错误处理:java.lang.OutOfMemoryError: Java heap space

    其中,“java.lang.OutOfMemoryError: Java heap space”是一种常见的异常情况,它表明Java虚拟机(JVM)的堆内存空间已耗尽。 #### 标题和描述中的知识点详解 **标题:“java错误处理:java.lang.OutOfMemoryError:...

    解决JVM中得PermGen spac问题

    解决 JVM 中的 PermGen space 问题 PermGen space(Permanent Generation space)是 JVM 中的一块永久保存区域,用于存放 Class 和 Meta 信息。当应用程序加载 Class 时,Class 就会被放入 PermGen space 区域中,...

    JVM内存溢出问题解析

    JVM 内存溢出类型有两种:java.lang.OutOfMemoryError: PermGen space 和 java.lang.OutOfMemoryError: Java heap space。PermGen space 是非堆内存,用于存放类的信息,GC 不会释放该空间。如果 web 应用使用了大量...

    java.lang.OutOfMemoryError解决办法

    PermGen(Permanent Generation)是Java虚拟机(JVM)的一个内存区域,主要用于存储类的元数据,如类的名称、方法信息等。与堆区不同,堆区中的对象在不再被引用时会被垃圾收集器(Garbage Collector, GC)回收,但...

    java内存溢出原因

    对于现代JVM版本(Java 8及以上), PermGen已被Metaspace取代,可以调整Metaspace大小。 2. **JVM heap space溢出** - **heap space** 主要用于存储Java运行时的对象,这些对象会在垃圾收集(GC)过程中被清理。 ...

    java解决nested exception is java.lang.OutOfMemoryError Java heap space

    4. **调整PermGen空间**:在Java 8之前, PermGen 区域用于存储类的元数据,如果这个区域耗尽,会出现`java.lang.OutOfMemoryError: PermGen space`错误。在Java 8中,这部分被MetaSpace取代,可通过`-XX:...

    认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别

    Java JVM 虚拟机选项 Xms Xmx ...如果 MaxPermSize 设置过小,可能会导致 java.lang.OutOfMemoryError: PermGen space。 因此,合理地配置 JVM 的内存参数是非常重要的,可以避免内存溢出错误和提高应用的性能。

Global site tag (gtag.js) - Google Analytics