转载:
导致原因: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原理与内存管理 #### 一、Sun JDK 1.6 GC (Garbage Collector) Sun JDK 1.6 的垃圾收集器(GC)是其内存管理的关键组成部分,它负责自动地回收不再使用的对象所占用的内存。本文将详细介绍Sun JDK 1.6 GC...
sunJVM的源代码
Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 区别 Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 是 Java 虚拟机(JVM)中用于配置内存管理的参数。这些参数控制着 JVM 中的堆内存和非堆内存的分配。 ...
sunJVM的源代码8
sunJVM的源代码9
sunJVM的源代码
sunJVM的源代码10
sunJVM的源代码6
sunJVM的源代码4
sunJVM的源代码7
sunJVM的源代码5
世界上最好的JVM,你可以根据需要,porting到你自己的平台上,有很详细的文档。
- Sun JVM内存管理主要涉及堆和栈的管理,以及对象的分配和回收。 - 堆内存分为新生代(Young Generation)和老年代(Tenured Generation),新生代又分为Eden区和两个Survivor区,用于实现高效的垃圾收集策略,如...
SUN JVM 是 Sun 公司开发的一种 JVM 实现。SUN JVM 实现了 JVM 规范,提供了 JVM 的基本功能和扩展功能。 SUN JVM 内存管理 SUN JVM 的内存管理机制主要包括以下几个方面: * 垃圾回收机制:用于回收无用的对象...
SUN JVM 的调优是指对 SUN JVM 的性能进行优化,以提高 Java 程序的运行速度。SUN JVM 的调优可以从以下几个方面入手: * 堆大小调整:调整堆的大小可以提高 SUN JVM 的性能。 * 垃圾回收频率调整:调整垃圾回收的...
《OpenJDK中的JVM Hotspot实现源码解析》 在Java世界中,JVM(Java Virtual Machine)是运行Java程序的关键组件,它负责将字节码解释执行或即时编译为机器码,使得Java具备跨平台的能力。Hotspot是Oracle JDK和...
Sun Microsystems 开发的JVM是最常见的JVM实现之一。它支持Java标准版(Java SE)、企业版(Java EE)和微型版(Java ME)。Sun的JVM提供了丰富的特性和优化,以提高性能和可靠性。 ##### 2.3 Sun JVM内存管理 Sun ...
3. **线程堆栈大小**:对于大多数应用,128KB (`-Xss128k`)的线程堆栈大小是一个合理的默认值,但应根据具体应用的需求进行调整。 4. **垃圾回收器选择**:在吞吐量优先的情况下,可以选择并行收集器 (`-XX:+...
- **Sun JVM**:Sun Microsystems(现已被Oracle收购)的JVM实现遵循JVM规范,提供了具体且高效的内存管理机制,包括垃圾回收和性能调优工具。 - **SUN JVM内存管理**:Sun JVM的内存管理主要关注堆(Heap)和非堆...
5. **-XX:PermSize** 和 **-XX:MaxPermSize** (JDK 7及以前版本):设置永久代的初始和最大大小。在JDK 8中,永久代被Metaspace替代,不再受固定大小限制。 #### 实战案例:Tomcat中JVM内存调优 在部署Java Web应用...