这个异常是指使用Myeclipse启动tomcat项目时,会出现PermGen space 异常。这是由于JVM内存不足产生的。
所以在WINDOWS操作系统下,修改Tomcat下的catalina.bat在
echo Using CATALINA_BASE: "%CATALINA_BASE%"
echo Using CATALINA_HOME: "%CATALINA_HOME%"
echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"
下添加如下:
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms128m
-Xmx256m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=64m
-XX:MaxPermSize=128m -XX:+DisableExplicitGC"
红字部分可根据实际情况修改。
参数的含义:
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了
-Xms128m JVM初始分配的堆内存
-Xmx512m JVM最大允许分配的堆内存,按需分配
-XX:PermSize=64M JVM初始分配的非堆内存
-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配
-XX:newSize:表示新生代初始内存的大小,应该小于 -Xms的值;
-XX:MaxnewSize:表示新生代可被分配的内存的最大上限;当然这个值应该小于 -Xmx的值;
分享到:
相关推荐
### 解决OutOfMemoryError: PermGen space 在Java应用程序运行过程中,可能会遇到“OutOfMemoryError: PermGen space”的错误提示。这种错误通常发生在永久代(PermGen space)内存不足的情况下,永久代主要用于...
当PermGen space的可用空间被耗尽时,Java应用程序将抛出`java.lang.OutOfMemoryError: PermGen space`异常。这种错误通常发生在应用程序加载了大量类或动态生成了很多类的情况下,例如使用了大量的第三方库或者在...
### OutOfMemoryError: PermGen space 错误详解与解决方案 #### 一、问题背景及症状 在开发或运行基于Java的应用程序时,有时会遇到一个常见的错误提示:“OutOfMemoryError: PermGen space”。该错误通常发生在...
在MyEclipse中,可以通过以下路径进行设置:Window > Preferences > MyEclipse > Servers > Tomcat > Tomcat 6.x > JDK Optional > Java VM arguments。在这里,你可以输入指定的JVM参数来控制内存分配。例如, `-...
### Myeclipse下java.lang.OutOfMemoryError: Java heap space的解决方案 在使用Myeclipse进行Java开发时,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这个错误提示。这种异常通常发生在应用程序占用...
这通常表现为两种主要类型:Java堆空间溢出(Java heap space)和永久代空间溢出(PermGen space)。 ### Java堆空间溢出(Java heap space) Java堆是JVM管理的主要内存区域之一,用于存储所有对象实例以及数组。...
1. **PermGen Space(永久代)内存不足**:当JVM加载了大量的类和元数据时,可能会导致永久代空间不足,从而引发`OutOfMemoryError: PermGen space`异常。 2. **Heap Memory不足**:当堆内存无法满足应用需求时,也...
对于`PermGen space`错误,主要原因是永久代(PermGen space)内存不足。永久代主要用于存储类的信息、常量、静态变量等数据。当应用加载的类较多或者单个类占用的空间较大时,如果没有适当调整永久代的大小,就很...
2. **非堆内存(Non-heap)**:也被称为永久代(PermGen space),主要用于存储类元数据、常量池、静态变量等信息。非堆内存的大小同样可以在启动时通过-XX:PermSize和-XX:MaxPermSize参数来设置。 #### 三、...
其中,`-XX:PermSize`和`-XX:MaxPermSize`用于设置永久代(PermGen space)的初始大小和最大大小。如果发现应用经常出现`OutOfMemoryError: PermGen space`错误,可以适当增加这两个值。但需要注意,`-XX:...
调整MyEclipse的启动参数,增大JVM的非堆内存(PermGen Space)可以避免内存溢出问题。在`myeclipse.ini`文件中,找到`-vmargs`行之后添加以下内容,根据实际需求调整内存大小: ``` -XX:MaxPermSize=512m ``` ...
这些参数用于设置Java虚拟机(JVM)的初始堆大小、最大堆大小以及永久代(PermGen space)的初始大小和最大值。通过适当调整这些参数,可以在保证应用正常运行的同时优化内存使用。 #### 三、总结 以上介绍了几种...
针对内存溢出 myeclipse中的配置以及tomcat的配置