手机访问          
logo
tomcat 内存处理
更新时间:2018-12-19 17:04:48    676次阅读 评论 0

 

 

在tomcat运行java web时有时候会出现内存溢出的 情况 java.lang.OutOfMemoryError


这时候我们就需要根据不同的情况,进行不同的处理

1、java.lang.OutOfMemoryError: PermGen space

        PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space。从文字上看就是内存溢出,解决方法是加大内存。

        这里主要存放class和meta信息,如果JVM加载的class过多的话,这时候就有可能报错了,一般情况下class不会太多,我们就稍微提下其内存分配额


    解决方案:手动修改配置

如果在window则编辑tomcat的catalina.bat文件,如果字啊Linux编辑tomcat的catalina.sh文件, 在第一行的后面,加一句

set JAVA_OPTS=-server -XX:PermSize=64M -XX:MaxPermSize=128m

 



2、java.lang.OutOfMemoryError: Java heap space

        JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置。JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。


    这里出现错误的话,有两个解决方案:一个优化代码,优化浪费堆内存的代码块,另外一个就是修改tomcat的JVM 的-Xmn -Xms -Xmx大小

在这里,我们只说下修改配置

set JAVA_OPTS=-server -Xms256m -Xmx512m-XX:MaxNewSize=256m

    


 另外 如果要看效果可以到tomcat的启动页面,看是否设置成功

如果设置成功,那么启动页面的日志里面会打印出来的

2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Server version:        Apache Tomcat/7.0.69
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Server built:          Apr 11 2016 07:57:09 UTC
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Server number:         7.0.69.0
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name:               Windows NT (unknown)
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Version:            6.2
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Architecture:          x86
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Java Home:             F:\Java\java6\jdk1.6.0_33\jre
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Version:           1.6.0_33-b03
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Vendor:            Sun Microsystems Inc.
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE:         C:\LLL-PDI-WEB\lll-mps-instances\lll-mps
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME:         C:\LLL-PDI-WEB\apache-tomcat-7.0.69
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Xms256m
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Xmx512m
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -XX:PermSize=128M
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -XX:MaxPermSize=256M
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
2017-10-17 10:42:37 org.apache.catalina.startup.VersionLoggerListener log



分享按钮 分类:java
  

create:2017-10-17    阅读量(676) 评论( 0 )

返回顶部
登录评论
  ABOUT ME
头像
昵称零零一
博龄 { 59.6月 }
积分610
博主被推荐的文章
相关博文
推荐博文
    找资源,点这里!
    电商企业最基本的架构解说
    mybatis 写 like语句
    C#中的is,as关键字
    推理术三——归纳推理术
    只要肯琢磨,精品会出现的---编程的修炼
    C#键盘输入回车键实现点击按钮效果的方法
    sysobjects
    SQL Server DATEDIFF(
    驾驶证认知
标签云
反馈 联系©2015-2016 2016 ©zhoubo15.cn 粤ICP备15029033号-1