作家
登录

解Bug之路:记一次JVM堆外内存泄露Bug的查找

作者: 来源: 2018-01-16 19:28:36 阅读 我要评论

为什么在物理机膳绫腔有应用Down机

笔者登录了本来物理机,应用还在跑,发明其同样有堆外内存泄漏的现象,其物理内存应用已经达到了5个多G!幸好物理机内存很大年夜,并且此应用宣布还比较频繁,所以没有被OOM。
Dump了物理机上应用的线程,

一共有28737个线程,个中28626个线程等待在CachedBnsClient上。 

同样用smaps查看过程实际内存信息,其平均大年夜小依旧为

128K,因为是同一应用的原因

持续进行物理内存计算

1.8+(28737 * 128k)/1024K =(3.6+1.8)=5.4G

进一步验证了我们的推理。

这么多线程应用为什么没有卡顿

JVM一开端申请了

因为根本所有的线程都睡眠在

 Thread.sleep(60 * 1000);//一次睡眠60s

上。所以仅仅占用了内存,实际占用的CPU时光很少。

总结

查找Bug的时刻,现场信息越多越好,同时定位Bug必须要有本质性的证据。例如内存泄漏就要用你推想出的模型进行定量分析。在定量和实际对不上的时刻,深挖下去,你会发明不一样的风景!

原文链接

https://my.oschina.net/alchemystar/blog/1603817

【编辑推荐】

  1. 世界之谜:为什么法度榜样员老是发明不了本身的Bug?
  2. Go运行时,对bug的分析调试过程解析
  3. 微旌旗灯号可以随便率性修改了?官方:纯属Bug
  4. 法度榜样员大年夜复杂代码中找BUG的5种办法,你用过几个?
  5. PS4内核级马脚颁布:完美软破要来了
【义务编辑:张燕妮 TEL:(010)68476606】

  推荐阅读

  解决Plesk面板Nginx不能自动启动的问题

年前最后一场技巧盛宴 | 1月27日与京东、日记易技巧大年夜咖畅聊智能化运维成长趋势! 问题描>>>详细阅读


本文标题:解Bug之路:记一次JVM堆外内存泄露Bug的查找

地址:http://www.17bianji.com/lsqh/40306.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)