Tomcat 在部署应用中,Server报错:java.lang.OutOfMemoryError: PermGen space,问题就是Tomcat内存分配的太小了。

解决办法 1:

修改Tomcat\bin\catalina.bat文件。
找到

tomcat6 为

set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf \logging.properties"

tomcat 7 为

set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

这句话。在前面加上rem注释掉。

在它下面加入:

set JAVA_OPTS=-server -Xms1024m -Xmx1024m -Xss512k -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true

重新启动Tomcat,正常启动了
修改后配置如下

if not "%LOGGING_MANAGER%" == "" goto noJuliManager
rem set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
set JAVA_OPTS=-server -Xms1024m -Xmx1024m -Xss512k -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true

解决方法 2:

在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:

rem ----- Execute The Requested Command ---------------------------------------
set JAVA_OPTS=-server -Xms512m -Xmx512m -Xss512k -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true

如:

rem ----- Execute The Requested Command ---------------------------------------
set JAVA_OPTS=-server -Xms512m -Xmx512m -Xss512k -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
echo Using CATALINA_BASE: "%CATALINA_BASE%"
echo Using CATALINA_HOME: "%CATALINA_HOME%"
echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"

建议:

将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。

Tomcat 性能调优 出现java.lang.OutOfMemoryError: PermGen space的更多相关文章

  1. tomcat内存溢出解决,java.lang.OutOfMemoryError: PermGen space

    今天遇到了一个java.lang.OutOfMemoryError: PermGen space异常问题,一直解决不了,根据网上修改了tomcat的配置文件,但是还是解决不了,最后是通过如下方式解决的 ...

  2. eclipse启动tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space

    发布工程后,启动tomcat出现如下内存溢出错误: java.lang.OutOfMemoryError: PermGen space ... java.lang.OutOfMemoryError: ...

  3. 启动Tomcat内存溢出解决:java.lang.OutOfMemoryError: PermGen space

    Eclispe 设置Tomcat的时候,双击server的配置,配置如下:

  4. IntelliJ IDEA中运行Tomcat报内存溢出(java.lang.OutOfMemoryError: PermGen space)

    在Run/Debug Configuration中修改Tomcat的VM options,在里面输入以下内容: -server -XX:PermSize=128M -XX:MaxPermSize=25 ...

  5. 启动tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space

    三种因素引起: 1.jvm(jdk)的内存引起. 2. eclipse的内存引起. 3.tomcat的内存引起. 1.解决方法: 2.解决方法: 解决问题的方式就是:修改了安装目录eclipse.in ...

  6. Tomcat – java.lang.OutOfMemoryError: PermGen space Cause and Solution

    Read more: http://javarevisited.blogspot.com/2012/01/tomcat-javalangoutofmemoryerror-permgen.html#ix ...

  7. Tomcat java.lang.OutOfMemoryError: PermGen space error

    Often time, Tomcat may hits the following java.lang.OutOfMemoryError: PermGen space error. java.lang ...

  8. Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案

    Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案问题linux的jetty下发布程序后再启动jetty服务时 ...

  9. Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法

    有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误, 我们知道可以通过jvm ...

随机推荐

  1. 数据导入问题:[Err] [Imp] 1406 - Data too long for column 'linkman' at row 20 [Err] [Imp] INSERT INTO `excel_eprinfo`

    导入数据:提示错误 [Err] [Imp] 1406 - Data too long for column 'linkman' at row 20[Err] [Imp] INSERT INTO `ex ...

  2. SQL中N $ # @的作用

    declare @sql nvarchar(4000) set @sql= N'select @TotalRecords=count(*) from ' + N'(' + @sqlFullPopula ...

  3. xml读取

    select isnull(CamSeqId, '') as CamSeqId,isnull(cam_config.value('(xml/cam/StardardValue)[1]','int'), ...

  4. Win7:“找不到该项目”错误解决大法

    1.将以下代码复制粘贴到一新建的txt记事本文档中,并另存为del.bat文件(或者你喜欢的名字),注意扩展名为批处理文件bat. DEL /F /A /Q \\?\%1RD /S /Q \\?\%1 ...

  5. MATLAB的基本元素

    MALTAB程序的基本数据单元是数组,MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_).只有前31个字符是有效的:如果超过了31 个字符,基余的字符将被忽略.如果声明两个变量, ...

  6. 最佳vim技巧

    最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim ...

  7. MySQL flush privileges 명령어

    INSERT나 UPDATE, DELETE문을 이용해서 MySQL의 사용자를 추가,삭제하거나, 사용자 권한 등을 변경하였을 때, MySQL에 변경사항을 적용하기 위해서 사용하는 명령 ...

  8. C# string.Format格式化时间或货币

    1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...

  9. InstallShield Clone dialog

    Browse to Dialogs view, right-click an existing dialog, click Clone and rename the cloned dialog. Wh ...

  10. Windows Phone中用到的类名及对应的命名控件及引用

    //INotifyPropertyChanged using System.ComponentModel; //ICommand using System.Windows.Input; //Actio ...