zoukankan      html  css  js  c++  java
  • linux中tomcat内存溢出解决办法 分类: 测试 2013-11-22 09:46 5053人阅读 评论(0) 收藏

    常见的一般会有下面三种情况: 
    1.OutOfMemoryError: Java heap space 
    2.OutOfMemoryError: PermGen space 
    3.OutOfMemoryError: unable to create new native thread. 
    前两种通常一起进行操作,也就是通过下面的
        linux下在catalina.sh文件最前面加入如下语句,这个文件在tomcat -->bin目录下。

        JAVA_OPTS='-Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m'




    =============================================================================================

    1.         内存溢出: java.lang.OutOfMemoryError:PermGen space

    后台日志:

     

    2.        查看内存 free –m,详见http://www.cnblogs.com/rosesmall/archive/2012/05/08/2490522.html

    3.        空闲内存=free+buffers+cached=total-used

    4.        查看后台zebra项目的tomcat内存:

    cat /opt/zebra/tomcat/bin/catalina.sh,查看以下内容:

    export JAVA_OPTS="-Dwebapp=zebra.tomcat-Dfile.encoding=GB18030 -Xmx4096m -Xms1024m -Djava.awt.headless=true"

    -Xmx1024m中的值大于free –m 查看到的系统实际空闲内存时,出现内存溢出错误。需要修改-Xmx1024m中的值,使其小于实际空闲内存。

    查看系统最大支持内存命令:java -Xmx1024m –version

    查看系统初始化内存大学:java –Xms 512m –version

    JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'

      需要把这个两个参数值调大。例如:

      JAVA_OPTS='-Xms256m -Xmx512m'

      表示初始化内存为256MB,可以使用的最大内存为512MB。

      windows版本下类似,在文件/bin/catalina.bat里追加即可。


  • 相关阅读:
    电位器的使用
    序言
    跨域之options请求详解
    redis config 实现切库 和指定序列化
    巨坑! druid1.1.0
    跨域问题解决
    canal解决缓存穿透 对数据库同步数据至redis 或EleasticSearch
    oauth2+spring security +jwt 完成分布式服务认证
    oauth2的数据库设计
    Gson 转换 Localdate 使用 GsonBuilder setDateFormat 无效
  • 原文地址:https://www.cnblogs.com/think1988/p/4628013.html
Copyright © 2011-2022 走看看