知识大全 巧解Tomcat中JVM内存溢出问题
Posted 知
篇首语:赋料扬雄敌,诗看子建亲。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 巧解Tomcat中JVM内存溢出问题相关的知识,希望对你有一定的参考价值。
巧解Tomcat中JVM内存溢出问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
你对Tomcat 的JVM内存溢出问题的解决方法是否了解 这里和大家分享一下 相信本文介绍一定会让你有所收获
tomcat 的JVM内存溢出问题的解决
最近在熟悉一个开发了有几年的项目 需要把数据库从mysql移植到oracle 首先把jdbc的连接指向mysql 打包放到tomcat里面 可以跑起来 没有问题 可是当把jdbc连接指向oracle的时候 tomcat就连续抛java lang OutOfMemoryError的错误 上网google了一下 了解了一下tomcat的运行机制 也解决了问题 share出来 以备查 下面有几种JVM内存溢出的现象和解决方法 请看详细介绍
JVM内存溢出现象提示一 java lang OutOfMemoryError:Javaheapspace
解释
Heapsize设置
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置 JVM在启动的时候会自动设置Heapsize的值 其初始空间(即 Xms)是物理内存的 / 最大空间( Xmx)是物理内存的 / 可以利用JVM提供的 Xmn Xms Xmx等选项可进行设置 Heapsize的大小是YoungGeneration和TenuredGeneraion之和
提示 在JVM中如果 %的时间是用于GC且可用的Heapsize不足 %的时候将抛出此异常信息
提示 HeapSize最大不要超过可用物理内存的 % 一般的要将 Xms和 Xmx选项设置为相同 而 Xmn为 / 的 Xmx值
解决方法
手动设置Heapsize
修改TOMCAT_HOME/bin/catalina bat 在 echo UsingCATALINA_BASE:$CATALINA_BASE 上面加入以下行
Java代码
- setJAVA_OPTS=%JAVA_OPTS% server Xms m Xmx m XX:MaxNewSize= m setJAVA_OPTS=%JAVA_OPTS% server Xms m Xmx m XX:MaxNewSize= m
或修改catalina sh
在 echo UsingCATALINA_BASE:$CATALINA_BASE 上面加入以下行
- JAVA_OPTS= $JAVA_OPTS server Xms m Xmx m XX:MaxNewSize= m
JVM内存溢出现象提示二 java lang OutOfMemoryError:PermGenspace
原因
PermGenspace的全称是PermanentGenerationspace 是指内存的永久保存区域 这块内存主要是被JVM存放Class和Meta信息的 Class在被Loader时就会被放到PermGenspace中 它和存放类实例(Instance)的Heap区域不同 GC(GarbageCollection)不会在主程序运行期对PermGenspace进行清理 所以如果你的应用中有很CLASS的话 就很可能出现PermGenspace错误 这种错误常见在web服务器对JSP进行prepile的时候 如果你的WEBAPP下都用了大量的第三方jar 其大小超过了jvm默认的大小( M)那么就会产生此错误信息了
解决方法
手动设置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina bat(Linux下为catalina sh) 在Java代码 echo UsingCATALINA_BASE:$CATALINA_BASE 上面加入以下行
- setJAVA_OPTS=%JAVA_OPTS% server XX:PermSize= M XX:MaxPermSize= m
echo UsingCATALINA_BASE:$CATALINA_BASE 上面加入以下行
- setJAVA_OPTS=%JAVA_OPTS% server XX:PermSize= M XX:MaxPermSize= m
catalina sh下为
Java代码
- JAVA_OPTS= $JAVA_OPTS server XX:PermSize= M XX:MaxPermSize= m JAVA_OPTS= $JAVA_OPTS server XX:PermSize= M XX:MaxPermSize= m
相关参考
JVM内存溢出的两大类型及解决方案 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 你知道如何解决
Tomcat运行JavaWeb内存溢出总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
知识大全 Linux和Windows下的Tomcat JVM内存设置
Linux和Windows下的TomcatJVM内存设置 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
知识大全 java开发中常常遇到的内存溢出问题 OutOfMemory
java开发中常常遇到的内存溢出问题OutOfMemory 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
设置Java虚拟机(JVM)的内存问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
关于设置Java虚拟机(JVM)的内存问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近做
关于PHP内存溢出问题的解决方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一.内存溢出解决
jdk编译器对内存的支持不同client状态和server状态不同后者支持更大些操作系统不同也存在不同位操作系统就比位操作系统大 测试方法在命令行下用javaXmxXXXXMversion命令来
Eclipse中进行JVM内存设置 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
详解JVM内存结构组成 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 你对JVM内存结构是否了解