从JVM heap dump里查找没有关闭文件的引用

  • 时间:
  • 浏览:0
  • 来源:神彩大发11选5_彩神大发11选5官方

以下面简单的demo为例,Demo会创建一一个多多多临时文件,因此没办法 close掉:

把heap dump文件导入VisualVM里,因此在“OQL控制台”查询上边的话语,结果是:

再能够查询到parent,引用相关的对象。

使用jmap命令:

这个 文件没办法 关闭是比较容易找到的,查看多多程序运行 的fd(File Descriptor)就能够。因此选折 fd是在哪里被打开,在哪里被引用的就复杂化点,很重是在没办法 重启应用的情形下。

在JVM能够否通过heap dump比较方便地反查对象的引用,从而找到泄露的代码。

最近排查一一个多多多文件没办法 关闭的间题,记录一下。

多多程序运行 打开的文件在OS里有对应的fd(File Descriptor),能够用lsof命令是是因为直接在linux下到/proc目录下查看。

对于每一一个多多多打开的文件在JVM里都一一个多多多多java.io.FileDescriptor对象。查看下源码,能够发现FileDescriptor里一一个多多多多fd字段:

什么都有必须查找到fd等于12的FileDescriptor,QOL话语:

在jdk8里自带VisualVM,jdk9过能够否单独下载:https://visualvm.github.io/

除了VisualVM还有其它什么都有heap dump工具,在jdk里还自带一一个多多多jhat工具,尽管在jdk9后来移除掉了,因此另一方还是比较喜欢这个 工具,是是因为它是一一个多多多web接口的。

打开链接能够查看具体的信息

访问 http://localhost:7000/oql/ ,能够在浏览器里查询OQL:

以demo为例,能够找到test文件的fd是12:

猜你喜欢

女朋友说对我没感觉 ,跟我在一起就没有恋爱的感觉说就算在一起以后也不会有什么幸福。要跟我分手

扫描二维码下载 我来答追答感觉委屈?!不过,爱非要强求,强扭的瓜不甜,放手吧!可能性等她发现本人的好,她这是选择选择离开才会懂得珍惜啊!追问既然她有分手的事意思,我嘴笨 你

2020-01-22

数据地位提升迎来算法时代的风险投资

4G来袭科幻智能生活成现实隐形的知识产权:我每各自 投资不容易战略公司合作 伙伴靠谱更重要“创芯”时代中国服务器芯片将迎来最佳时期 作者ThomasThurston是风投公

2020-01-22

配置 SSH 端口转发,并设置开机启动

为了降低运维成本,提高可靠性,物理服务器往往都不 再部署在本地,IDC托管成了更多企业的选者。服务器托管在IDC后,出于安全的考虑,无需直接开放所有服务器的內部访问,其他我使

2020-01-22

阿里云Elasticsearch性能优化实践

阿里云Elasticsearch智能运维系统最佳实践Elasticsearch大咖说|携程旅行:从日志分析平台到综合性Elasticsearch管理平台【南京Meetup】华泰

2020-01-22

自从提出辞职之后,老板对我的态度发生了很大转变

很正常的清况 采纳数:2240获赞数:3665下载百度知道APP,抢鲜体验毕竟人走茶凉呀富足的管理经验,项目管理专业人士 我来答为你推荐:使用百度知道APP,立即抢鲜体验。

2020-01-22