知识大全 巧解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  
cha138/Article/program/Java/hx/201311/25540

相关参考

知识大全 JVM内存溢出的两大类型及解决方案

JVM内存溢出的两大类型及解决方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  你知道如何解决

知识大全 Tomcat运行Java Web内存溢出总结

Tomcat运行JavaWeb内存溢出总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Linux和Windows下的Tomcat JVM内存设置

Linux和Windows下的TomcatJVM内存设置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 java开发中常常遇到的内存溢出问题 OutOfMemory

java开发中常常遇到的内存溢出问题OutOfMemory  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 设置Java虚拟机(JVM)的内存问题

设置Java虚拟机(JVM)的内存问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 关于设置Java虚拟机(JVM)的内存问题

关于设置Java虚拟机(JVM)的内存问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近做

知识大全 关于PHP内存溢出问题的解决方法

关于PHP内存溢出问题的解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一.内存溢出解决

知识大全 关于jvm的内存限制的问题的解决办法

  jdk编译器对内存的支持不同client状态和server状态不同后者支持更大些操作系统不同也存在不同位操作系统就比位操作系统大  测试方法在命令行下用javaXmxXXXXMversion命令来

知识大全 Eclipse中进行JVM内存设置

Eclipse中进行JVM内存设置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb

知识大全 详解JVM内存结构组成

详解JVM内存结构组成  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  你对JVM内存结构是否了解