此贴用于记录我在工作中遇到过的tomcat permgen space 内存溢出的问题和是如何解决的。
问题产生的原因:
我有一个应用假定为PlayWeb01,因为业务UI变化巨大导致数据库表结构也变化巨大,客户的历史数据需要保存30年,这样,就不能够在原有数据库上进行升级,我又懒得给新业务部分单独配置一个数据源,因为这样做后续的工作量太大。于是乎,在同一个tomcat中部署了多个应用,问题就这样产生了,程序跑一段时间之后就会产生PermGen space 内存溢出。
-------------------------------------------------------------------------------
出现问题就来解决问题吧。
首先去问问<度娘>,如果不能再前几页找到你想要的,去问问<谷哥>。
查阅n多资料后发现原来这个问题,不是[b]tomcat[/b]的问题在这里代表遇到此问题并且因为此问题更换tomcat为其它中间件的同仁想tomcat致歉。这个问题jvm参数的问题。jvm设置的PermGen space 不够宽敞,解决方法很easy,当然如果你能一下就找到相关资料的话。
这里留下个东东,以方便自己下次遇到是快速解决........................
留下修改后的 catalina.bat。
附件是bat,由于本站不让传这个格式,这里只修改了扩展名,并没有真正压缩
修改的内容在 162行
问题产生的原因:
我有一个应用假定为PlayWeb01,因为业务UI变化巨大导致数据库表结构也变化巨大,客户的历史数据需要保存30年,这样,就不能够在原有数据库上进行升级,我又懒得给新业务部分单独配置一个数据源,因为这样做后续的工作量太大。于是乎,在同一个tomcat中部署了多个应用,问题就这样产生了,程序跑一段时间之后就会产生PermGen space 内存溢出。
-------------------------------------------------------------------------------
出现问题就来解决问题吧。
首先去问问<度娘>,如果不能再前几页找到你想要的,去问问<谷哥>。
查阅n多资料后发现原来这个问题,不是[b]tomcat[/b]的问题在这里代表遇到此问题并且因为此问题更换tomcat为其它中间件的同仁想tomcat致歉。这个问题jvm参数的问题。jvm设置的PermGen space 不够宽敞,解决方法很easy,当然如果你能一下就找到相关资料的话。
这里留下个东东,以方便自己下次遇到是快速解决........................
留下修改后的 catalina.bat。
附件是bat,由于本站不让传这个格式,这里只修改了扩展名,并没有真正压缩
修改的内容在 162行
rem ----- Execute The Requested Command ---------------------------------------
rem ---------------------------- 这里设置JVM的PermGen space--------------------
set JAVA_OPTS=%JAVA_OPTS% -server -Xms256m -Xmx3g [i]-XX:PermSize=64m -XX:MaxPermSize=256m[/i]
echo Using CATALINA_BASE: "%CATALINA_BASE%"