记录一次OOM排查经历(一)】的更多相关文章

一.经历概要 程序里有个跑数据的job,这个job的主要功能是往数据库写假数据. 既需要跑历史数据(传给job的日期是过去的时间),也需要能够上线后,实时跑(十秒钟触发一次,传入触发时的当前时间). 其中一个job比较奇葩点,要写入的数据比较难以随机生成,是产品的同事从互联网上找的数据,比如当前网络上的热门话题,然后导入到数据库中.所以, 我这边随机的时候,不能乱造.因此我的策略是,从数据库将已经存在的那几条真实数据查询出来,然后job中根据随机数,选择其中一条来仿造一条新的, 随机生成新记录的…
我是用了netty搭建了一个UDP接收日志,堆启动配置 Xmx256  Xms256 ,项目刚启动的时候,系统进程占用内存很正常,在250M左右. 长时间运行之后发现,进程占用内存不断增长,远远超过了我设置的堆内存大小,查看幸存者,伊甸园,老年代,gc都很正常,堆使用数据一切正常,甚至我怀疑元空间占用内存大,查询之后发现,元空间也只用很小,而且自从程序启动开始,浮动很小.为此,我又把JVM相关知识点又拿出来翻了一遍 那么多出来的内存使用是从哪里来的? 后来通过查询相关资料才发现,Java进程内存…
又一次线上OOM排查经过 最近线上一个服务又出现了频繁Full GC的情况,导致提供的业务经常超时.问题出现非常不稳定,经过两周的时候,终于又捕捉到了一次Full GC,于是联系运维做Heap Dump之后,经过一系列分析,终于解决问题.这次的问题稍微复杂一点,但是也比较有代表性,用到了VisualVM和MAT两个工具,继续记录如下. 现象 这次使用公司的CAT监控平台看到的内存表现如下: 可以看到,具体表现是: 在很长一段时间内(数个小时),New GC比较频繁,Full GC较少(一小时个位…
摘要:华为云数据库GaussDB(for Cassandra) 是一款基于计算存储分离架构,兼容Cassandra生态的云原生NoSQL数据库:它依靠共享存储池实现了强一致,保证数据的安全可靠. 本文分享自华为云社区<华为云数据库GaussDB(for Cassandra)揭秘第二期:内存异常增长的排查经历>,原文作者:Cassandra官方 . 背景介绍 华为云数据库GaussDB(for Cassandra) 是一款基于计算存储分离架构,兼容Cassandra生态的云原生NoSQL数据库:…
背景 最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测.压测时候比较容易触发OOM Killer,把cassandra进程干掉.问题是8G这个规格我配置的heap(Xmx)并不高(约6.5g)已经留出了足够的空间给系统.只有可能是Java堆外内存使用超出预期,导致RES增加,才可能触发OOM. 调查过程 0.初步怀疑是哪里有DirectBuffer泄漏,或者JNI库的问题.1.按惯例通过google perftools追踪堆外内存开销,但是并未发现明显的异常.2.然…
背景 最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测.压测时候比较容易触发OOM Killer,把cassandra进程干掉.问题是8G这个规格我配置的heap(Xmx)并不高(约6.5g)已经留出了足够的空间给系统.只有可能是Java堆外内存使用超出预期,导致RES增加,才可能触发OOM. 调查过程 0.初步怀疑是哪里有DirectBuffer泄漏,或者JNI库的问题.1.按惯例通过google perftools追踪堆外内存开销,但是并未发现明显的异常.2.然…
犯罪现场~~ es: 三节点,配置相同 内存: 248G CPU: 没注意看 磁盘: 2T data: 380G左右 indices: 近9800条 在下才疏学浅,目前跟着大佬学习,这个问题还没解决,大佬猜测是indices数量过高,将es打爆了,由于机器是客户的,indices的删减需要客户方的同意,暂时不确定是否是这个原因导致的,后期成功处理恢复es集群后,再来更新(为什么不看日志?因为日志太大了,108G,不知道应该搜索哪些关键字,有大佬知道,望赐教) 下面分享两个遇到的犯罪现场~~~ 客…
前言: C/C++的程序员渴望Java的自由, Java程序员期许C/C++的约束. 其实那里都是围城, 外面的人想进来, 里面的人想出去. 背景: 作为Java程序员, 除了享受垃圾回收机制带来的便利外, 还深受OOM(Out Of Memory)的困惑和折磨. 本文借鉴了<<深入理解 Java虚拟机>>, 并结合了小编自身的经历和读者一起面对OOM的困局如何分析和破解. 准备工作: 工欲善其事必先利其器, 对java进程的快照分析, 是能够帮助我们迅速的定位出错的原因. 这边我…
前一段时间,业务部门同事反馈在一次生产服务器升级之后,POS消费上传小票业务偶现异常,上传小票业务有重试机制,有些重试三次也不会成功,他们排查了一下没有找到原因,希望架构部帮忙解决. 公司使用的是FastDFS来做的图片服务器,生产使用了六台服务器外加一个存储,集群采用的是:2个tracker+4个storage,storage分为两个group,使用独立的nginx做文件代理访问.各软件版本信息如下: 操作系统:centos6.9 FastDFS :5.05 libfastcommon:1.0…
 提到sql server,想必最让人头疼的当属锁机制了.在默认的read committed隔离模式下,连最基本的select操作都要申请各种粒度的锁,而且在读取数据过程中会不断有锁升级.转化.在非未提交读的隔离级别中,一个select操作会对每一条读到的记录或键值加S锁(何时释放还要视记录是否返回以及隔离级别而定),对每一条用到的Index上的键值加S锁,对读过的每个page和table上加IS锁...update.insert.delete操作申请锁的量和复杂度就更大了. 死锁和阻塞都是s…