java head space/ java.lang.OutOfMemoryError: Java heap space内存溢出
上一篇JMX/JConsole调试本地还可以在centos6.5 服务器上进行监控有个问题端口只开放22那么设置的9998端口 你怎么都连不上怎么监控?(如果大神知道还望指点,个人见解)
线上项目出现了org.apache.solr.servlet.SolrDispatchFilter - null:java.lang.RuntimeException: java.lang.OutOfMemoryError: Java heap space
于是采用了在tomcat里面catalina.sh里面配置进行监控
JAVA_OPTS="-Xms5120m -Xmx5120m -Xss512K -XX:PermSize=256m -XX:MaxPermSize=256m -XX:SurvivorRatio=4 -XX:-UseGCOverheadLimit
-XX:NewSize=3096m
-XX:MaxDirectMemorySize=1024m
-XX:+ExplicitGCInvokesConcurrent
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:+UseFastAccessorMethods
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseCompressedOops
-XX:-ReduceInitialCardMarks
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/data/tomcat/java.hprof
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-verbose:gc
-Xloggc:/var/data/tomcat/gc.log
-Dcom.sun.management.jmxremote.port=1099
-Djava.rmi.server.hostname=localhost
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
"
注意加红字体的路径要记得只需要指定目录就行gc.log java.hprof会自动创建。
采用了 MemoryAnalyzer 进行dump分析:
温馨提示:使用此工具的时java.hprof 如果文件大小高达3-9G需要到MemoryAnalyzer.ini -Xmx3072m 9个G需要设定5096m 否则分析一半卡死。
分析结果如下图
由最后第二张图可知大多数的溢出都是由TopFieldCollector类里面的一个MulitiComparatorsFile方法,其他类也有溢出是因为extends继承了TopFieldCollector 。但是考虑这个代码是由apache组织写的不可能有这么大bug没发现,所以考虑是存在系统var/data/下面的索引文件问题,初始化为5.8G大小索引,可以尝试初始化索引。
我的情况是3个tomcat1,tomcat2,tomcat3 然后每个tomcat下面webapps都有源代码那么3个tomcat都加载是否加载了3次索引导致内存撑爆。然后采用tomcat1,tomcat2,tomcat3共用/home/tomcat/webapps来进行。
另外tomcat server.xml里面会有FULL GC不知道据说是tomcat6的一个bug为了检测监听内存泄露 大家要稍微注意下
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"gcDaemonProtection="false"/>
以上纯属个人观点,如果错误还望大神指出,小弟技术菜鸟 思维一般。
java head space/ java.lang.OutOfMemoryError: Java heap space内存溢出的更多相关文章
- java.lang.OutOfMemoryError 解决程序启动内存溢出问题
java.lang.OutOfMemoryError: Java heap space Myeclipse里面部署的java web项目,浏览器访问的时候出现错误: type Exception re ...
- Tomcat报java.lang.OutOfMemoryError: Java heap space错误停止运行如何解决
最近开发的一个商业项目,部署完成后,经常出现Tomcat挂掉的现象,报的异常是:java.lang.OutOfMemoryError: Java heap space,上网google了一下,了解了一 ...
- MyCAT报java.lang.OutOfMemoryError: Java heap space
早上同事反映,mycat又假死了,估计还是内存溢出,查看了一下错误日志. INFO | jvm | // :: | java.lang.OutOfMemoryError: Java heap spac ...
- Tomcat 启动项目报错 java.lang.OutOfMemoryError: Java heap space
近日使用myeclipse 部署web项目,启动tomcat时报错: SEVERE: Error waiting for multi-thread deployment of directories ...
- 应用jacob组件造成的内存溢出解决方案(java.lang.OutOfMemoryError: Java heap space)
http://www.educity.cn/wenda/351088.html 使用jacob组件造成的内存溢出解决方案(java.lang.OutOfMemoryError: Java heap s ...
- java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space 原因:内存溢出,内存一直申请一直占用,无法回收 解决方法:定时重启下服务,
- java.lang.OutOfMemoryError: Java heap space解决方法
引起java.lang.OutOfMemoryError: Java heap space异常,可能是由JAVA的堆栈设置太小的原因 根据网上的答案大致有以下两种解决方法: 1.在D:/apache- ...
- 【转】java.lang.OutOfMemoryError: Java heap space的解决
原文地址:http://blog.sina.com.cn/s/blog_4b12778b0100v0bb.html Myeclipse下java.lang.OutOfMemoryError: Java ...
- Hadoop执行作业时报错:java.lang.OutOfMemoryError: Java heap space
常常被一些用户问到,说“为什么我的mapreduce作业总是运行到某个阶段就报出如下错误,然后失败呢?以前同一个作业没出现过的呀?” 10/01/10 12:48:01 INFO mapred.Job ...
随机推荐
- Asp.Net WebApi核心对象解析(下篇)
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...
- .NET Core中间件的注册和管道的构建(1)---- 注册和构建原理
.NET Core中间件的注册和管道的构建(1)---- 注册和构建原理 0x00 问题的产生 管道是.NET Core中非常关键的一个概念,很多重要的组件都以中间件的形式存在,包括权限管理.会话管理 ...
- Java 征途:行者的地图
前段时间应因缘梳理了下自己的 Java 知识体系, 成文一篇望能帮到即将走进或正在 Java 世界跋涉的程序员们. 第一张,基础图 大约在 2003 年我开始知道 Java 的(当时还在用 Delph ...
- webpack的使用
1.webpack是什么? 打包前端项目的工具(为项目提高逼格的东西). 2.webpack的基本命令 webpack#最基本的启动webpack命令 webpack-w #提供watch方法,实时进 ...
- 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解
工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...
- Android性能优化之巧用软引用与弱引用优化内存使用
前言: 从事Android开发的同学都知道移动设备的内存使用是非常敏感的话题,今天我们来看下如何使用软引用与弱引用来优化内存使用.下面来理解几个概念. 1.StrongReference(强引用) 强 ...
- 【开源】.Net 动态脚本引擎NScript
开源地址: https://git.oschina.net/chejiangyi/NScript 开源QQ群: .net 开源基础服务 238543768 .Net 动态脚本引擎 NScript ...
- spring源码分析之context
重点类: 1.ApplicationContext是核心接口,它为一个应用提供了环境配置.当应用在运行时ApplicationContext是只读的,但你可以在该接口的实现中来支持reload功能. ...
- 超详细mysql left join,right join,inner join用法分析
下面是例子分析表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 ...
- 从零自学Hadoop(22):HBase协处理器
阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...