`
星夜的遐想
  • 浏览: 186864 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PermGen space 内存溢出解决方案

阅读更多

在WEB开发过程中,特别是集成了大量的框架后,一不小心很容易出现内存溢出就如PermGen space (永久保存区中加载过多的class文或meta信息,GC无法回收,导致永久保存区内存空间不足,造成此误)网上查询资料得知可以通过配置java虚拟机的参数项解决,通过几次经验,可以如下配置:

Xms:初始化heap(堆)内存空间大小

Xmx:最大heap内存空间大小

MaxNewSize:每次堆内存中新生区的最大值

MaxPermSize:最大永久区的大小

 

在开发环境: 

在安装的JDK中配置如下:-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

截图:

 

 

部署到Tomcat(解压版)服务器时,需要在Tomcat的catalina.bat文件中设置JAVA_OPTS参数:

通常在提一行就ok:

 

如:

@echo off
set JAVA_OPTS=-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

rem Licensed to the Apache Software Foundation (ASF) under one or more

………………………………………………

 

 

  • 大小: 175.2 KB
分享到:
评论

相关推荐

    解决OutOfMemoryError: PermGen space

    ### 解决OutOfMemoryError: PermGen space 在Java应用程序运行过程中,可能会遇到...本文提供的解决方案包括调整PermGen space的大小、优化代码、使用JConsole监控内存等,希望能帮助开发者们快速定位并解决问题。

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

    - 如果无法避免 PermGen 内存溢出,一个临时的解决方案是定期重启应用服务器,以清空已加载的类并释放PermGen空间。 总之,"java.lang.OutOfMemoryError: PermGen space"错误是由于Java虚拟机的 PermGen 区域内存...

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

    Eclipse 中通过 Tomcat 运行 J2EE 项目 java.lang.OutOfMemoryError PermGen space 的解决方案 在 Eclipse 中通过 Tomcat 运行 J2EE 项目时,可能会出现 java.lang.OutOfMemoryError: PermGen space 异常,这是由于...

    PermGen space

    #### 几个关键因素导致PermGen Space溢出: 1. **第三方库**:使用某些第三方库(如proxool、cglib等)可能由于其内部机制大量消耗PermGen Space。 2. **日志框架**:如log4j或其他日志系统,若不适当配置,也可能...

    java.lang.OutOfMemoryError: PermGen space

    《Java中的PermGen空间及其内存溢出问题》 在Java编程中,我们常常会遇到一个让人头疼的问题,那就是“java.lang.OutOfMemoryError: PermGen space”错误。这个错误提示表明,应用程序在运行过程中,内存的永久代...

    myeclipse内存溢出问题解决方案

    本文主要讨论如何解决MyEclipse中的内存溢出问题以及相关的Java内存管理知识点。 首先,解决内存溢出问题的关键在于调整JVM的内存配置。在MyEclipse中,可以通过以下路径进行设置:Window > Preferences > ...

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

    针对上述问题,可以采取以下措施来解决PermGen space溢出的问题: 1. **调整JVM参数**: - 在`catalina.bat`文件中添加JVM参数来增加PermGen空间的大小。例如,可以在文件的适当位置加入: ```bat set JAVA_OPTS...

    Java内存溢出的详细解决方案

    Java内存溢出主要有两种类型:PermGen space和Java heap space。 PermGen space PermGen space是Java虚拟机中的永久保存区域,主要用于存放Class和Meta信息。Class在被Loader时就会被放到PermGen space中,它和...

    java内存溢出解决方案

    本文将深入探讨Java内存溢出的不同类型及其解决方案。 1. **内存溢出类型** - **1.1. java.lang.OutOfMemoryError: PermGen space** PermGen空间是JVM用于存储类元数据和常量池的部分,不会被垃圾收集器自动...

    jboss内存溢出原因

    1. **PermGen Space(永久代)内存溢出**:当JVM的永久代空间不足时,会抛出`java.lang.OutOfMemoryError: PermGen space`异常。 2. **Heap Space(堆空间)内存溢出**:当JVM的堆空间不足时,会抛出`java.lang....

    java常见的几种内存溢出和解决方案.docx

    PermGen space 溢出是指 Permanent Generation space 的内存溢出。PermGen space 是 JVM 存放 Class 和 Meta 信息的区域。如果程序载入了太多的 CLASS,可能会导致 PermGen space 溢出。解决方法是通过-XX:PermSize ...

    Tomcat给我的java.lang.OutOfMemoryError: PermGen

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

    解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题

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

    tomcat溢出解决建议方案

    综上所述,解决Tomcat在Windows Server 2003上的内存溢出问题,需要理解JVM内存管理机制,合理设置JVM参数,以及针对特定场景如PermGen Space溢出采取相应措施。同时,优化代码和排查内存泄漏也是必不可少的步骤。

    tomcat内存溢出在不同系统上各种详细的解决方案

    PermGen space 解决方案 **原因分析**: - 永久代(PermGen)内存主要用于存储类定义、常量池等信息,当这些信息超出PermGen的容量限制时,就会触发异常。 **解决方法**: - **调整-XX:PermSize和-XX:MaxPermSize...

    解决OutOfMemoryError内存溢出

    - 解决方案是增加PermGen Space的大小,可以通过设置`-XX:PermSize`和`-XX:MaxPermSize`来实现。 2. **Heap Space内存溢出**: - Heap Space是JVM中最主要的内存区域,用于存储对象实例等数据。当堆内存不足时,...

    java内存溢出原因

    本篇文章将详细解析三种常见的Java内存溢出类型:JVM PermGen space溢出、JVM heap space溢出以及Native Heap溢出,并提供相应的解决方案。 1. **JVM PermGen space溢出** - ** PermGen space** 是JVM内存模型中的...

    关于JVM内存溢出的原因分析及解决方案探讨.docx

    2. 持久代溢出(OutOfMemoryError: PermGen space) 3. 栈溢出(StackOverflowError) 4. OutOfMemoryError:unable to create native thread 六、解决方案 1. 手动设置 JVM Heap 的大小 2. 优化代码,减少内存的...

Global site tag (gtag.js) - Google Analytics