转载:
导致原因:SUN的JVM的PermSize默认值太小,导致了java.lang.OutOfMemoryError: PermGen space异常。
解决办法:
1. 使用带有脚本的Tomcat。
2. 如果系统已经运行安装过tomcat安装包,那么在系统环境中会有CATALINA_BASE,CATALINA_HOME,等配置,这些配置是全局的,应该删去。由于tomcat的启动脚本会配置临时的启动参数,所以不会影响tomcat的启动。
3. 参数配置建议在catalina.bat文件的Execute The Requested Commnad注释之后。
4. 在添加参数时,需要保持原有参数不被全部覆盖,比如添加配置项到JAVA_OPTS,应该首先set JAVA_OPTS=%JAVA_OPTS%,之后再添加-server -XX:PermSize=128M -XX:MaxPermSize=512m参数。
5. 在配置完成PermSize后,还有可能出现java.lang.OutOfMemoryError: Java heap space。这是由于JVM的内存限制导致的。可以添加参数-Xms250m -Xmx1000m来配置,具体配置的内存数量因更具发布系统的内存容量来确定。
配置样例:
windows:
set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
linux:
JAVA_OPTS=$JAVA_OPTS -Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
分享到:
相关推荐
Sun JVM原理与内存管理
sunJVM的源代码
sunJVM的源代码8
sunJVM的源代码9
sunJVM的源代码
sunJVM的源代码10
sunJVM的源代码6
sunJVM的源代码4
sunJVM的源代码7
sunJVM的源代码5
世界上最好的JVM,你可以根据需要,porting到你自己的平台上,有很详细的文档。
2.3 SUN JVM内存管理(优化) 10 2.4 SUN JVM调优 13 2.5.JVM简单理解 16 2.5.1 Java栈 16 2.5.2 堆 16 2.5.3 堆栈分离的好处 20 2.5.4 堆(heap)和栈(stack) 20 JAVA垃圾收集器 21 3.1 垃圾收集简史 21 3.2 常见的垃圾...
关于内存溢出报错的处理及解决方案: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemory 堆内存、非堆内存都描述
本文详细讲解了JVM(Java Virtual Machine)的方方面面,首先由java的特性来描绘JVM的大致应用,再细细阐述了JVM的原理及内存管理机制和调优.最后讲述了与JVM密切相关的Java GC机制.
jvm源码
jvm 配置jvm参数 配置jvm参数
jvm源码,jvm-native的源码,jvm支行机制,可对jvm的运行过程进行分析 个人网站:https://www.zhangjunbk.com
本文分为两个部分: 1,JVM specification s(JVM规范) 对JVM内存的描述 2,Sun的JVM的内存机制。
java获得jvm内存大小