'java.lang.OutOfMemoryError PermGen Space' 错误导致JIRA崩溃
(from http://www.confluence.cn/pages/viewpage.action?pageId=8388674)
Added by Wei Jing, last edited by Wei Jing on 2011-02-16 (view change)
show comment
现象
JIRA 崩溃. 日志中出现下面错误:
java.lang.OutOfMemoryError: PermGen space
原因
错误信息 java.lang.OutOfMemoryError: PermGen space 表明加载的类文件已经超过了Java的内存永久保存区域。大量的插件会消耗更多的PermGen空间。当调用相当多的类时发生这个错误。
解决方案
不要在一个Tomcat容器内部署多个 Atlassian 应用程序
Atlassian不建议在同一个Tomcat容器中部署多个Atlassian应用程序。我们没有在这种配置环境下进行过测试,任何应用程序的升级(哪怕是小版本升级)都有可能会导致故障产生。在这种不建议的配置环境下,我们已经接到了一些错误报告(查看 FAQ 了解详细内容)。
我们强烈建议不要在一个Tomcat容器内部署多套Atlassian应用程序还有很多实际应用上的原因。首先,你需要在升级任何一个应用程序时停止Tomcat服务,其次一旦任一个应用程序发生崩溃,Tomcat容器内的其他应用程序也可能会受到影响。.
要避免发生这个错误, 按照以下步骤操作:
Linux
确保 JAVA_HOME 设置正确. 请参见 安装Java。 这一点非常重要,否则设置无法生效。 请参考 增加固定存储器无效。
打开 <jira-install>/bin/setenv.sh.
编辑下面参数值:
JIRA_MAX_PERM_SIZE=256m
Windows 服务
参考 增加JIRA内存。如果你使用的是Windows服务,请特别注意设置参数的位置, 并按照介绍更改 PermGen Space 参数 而不是堆栈空间参数。
Windows .bat 文件
确保 JAVA_HOME 设置正确。 参考 安装Java
打开 <jira-install>/bin/setenv.bat.
编辑下面参考值:
JIRA_MAX_PERM_SIZE=256m
如果设置无效, 请参考 增加固定存储器无效。
--------------------------------------------------------------
Increasing Permanent Generation Memory Does Not Work
Skip to end of metadata
Added by Morgana Spindler [Atlassian], last edited by Hercules on Jan 09, 2011 (view change)
show comment
Comment: Migration of unmigrated content due to installation of a new plugin
Go to start of metadata
Symptoms
Changing JIRA_MAX_PERM_SIZE parameter in setenv.sh file does not have any effect on Permanent Generation Memory available in JIRA.
Cause
The setenv.sh file have a script (permgen.sh) that check if a IBM VM is being used instead of a Sun VM.
If a "IBM" string is NOT found in $JAVA_HOME the parameter JAVA_PERMGEN_SUPPORTED is set to true, otherwise, is set to false preventing PermGen memory settings to be included in the JAVA_OPTS.
Workaround
Change the line:
to:
Resolution
This problem is due to an incorrectly set JAVA_HOME directory. See Installing Java(http://confluence.atlassian.com/display/JIRA/Installing+Java). The root cause is due to a bug in JIRA, addressed in JRA-21159.
分享到:
相关推荐
java.lang.OutOfMemoryError: PermGen space 解决方案
在Java应用程序运行过程中,"java.lang.OutOfMemoryError: PermGen space"错误是常见的一个问题,尤其是在使用Tomcat这样的Java应用服务器时。这个错误表明应用程序在 PermGen 区域(Permanent Generation)耗尽了...
通过以上方法,可以有效地解决因PermGen space不足导致的`java.lang.OutOfMemoryError`问题。需要注意的是,虽然增加PermGen space的大小是一种简单直接的方法,但从长远来看,优化代码和类加载机制才是更为根本的...
在 Eclipse 中通过 Tomcat 运行 J2EE 项目时,可能会出现 java.lang.OutOfMemoryError: PermGen space 异常,这是由于 JVM 默认分配的运行空间过小,导致 J2EE 项目加载的类过多,造成内存溢出。 PermGen space 是...
在Java编程中,我们常常会遇到一个让人头疼的问题,那就是“java.lang.OutOfMemoryError: PermGen space”错误。这个错误提示表明,应用程序在运行过程中,内存的永久代(Permanent Generation)空间不足,导致了...
在使用Myeclipse进行Java开发时,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这个错误提示。这种异常通常发生在应用程序占用的堆内存超过了Java虚拟机(JVM)分配给它的最大堆内存限制时。本文将详细...
tomcat内存溢出解决办法,错误信息:java.lang.OutOfMemoryError:PermGen space 参考该文档可快速解决内存溢出的问题,服务器:tomcat
本文将针对两种常见的Java内存溢出错误——`java.lang.OutOfMemoryError: PermGen space`和`java.lang.OutOfMemoryError: Java heap space`进行详细的分析和解决方案的探讨。 首先,我们来看`java.lang....
Java.lang.OutOfMemoryError: Java heap space 是 Java 中的一个常见错误,它发生时,Java 虚拟机 (JVM) 无法分配对象,因为堆空间不足。下面是解决该问题的一些方法: 原因分析 1. Java 虚拟机 (JVM) 内存过小:...
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
java.lang.OutOfMemoryError是Java虚拟机(JVM)中的一种常见错误,发生这种错误时,JVM将无法继续运行,程序将崩溃。这种错误的出现通常是由于Jvm的内存不足或内存泄露导致的。 出现java.lang.OutOfMemoryError的...
4. **调整PermGen空间**:在Java 8之前, PermGen 区域用于存储类的元数据,如果这个区域耗尽,会出现`java.lang.OutOfMemoryError: PermGen space`错误。在Java 8中,这部分被MetaSpace取代,可通过`-XX:...
当应用程序加载大量类或者使用了大量的静态变量和常量时,PermGen space可能会耗尽,从而引发`java.lang.OutOfMemoryError: PermGen space`错误。对于频繁部署或重载JSP的Web应用,如Tomcat,这个问题尤为常见。 ...
### 编译时出现java.lang.OutOfMemoryError Java heap space异常 #### 一、问题概述 在进行Java项目编译的过程中,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这种异常。这类异常通常表明Java虚拟机...
在Java程序中,`java.lang.OutOfMemoryError: Java heap space` 是一个常见的错误,意味着程序在运行过程中耗尽了JVM分配的堆内存。这个错误通常发生在创建大量对象或者单个对象占用过多内存时。 一、问题描述与...
### Java.lang.OutOfMemoryError:Java Heap Space 错误及处理办法 在Java应用程序开发与维护过程中,经常会遇到`java.lang.OutOfMemoryError: Java heap space`这一异常情况。该异常通常表明Java虚拟机(JVM)的堆...
java.lang.OutOfMemoryError: Java heap space 解决方法
在Java应用程序运行过程中,可能会遇到“OutOfMemoryError: PermGen space”的错误提示。这种错误通常发生在永久代(PermGen space)内存不足的情况下,永久代主要用于存储类的信息、常量、静态变量以及方法信息等。...