加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java:非堆内存分析

发布时间:2020-05-25 13:01:06 所属栏目:Java 来源:互联网
导读:我们遇到的问题是我们的非堆内存一直在增长.所以我们必须每隔3天重启我们的jee( java8) – webapp(正如你在这里截图所示: screenshot from non-heap- and heap-memory) 我已经试图找出填满非堆的东西了.但我找不到任何工具来创建非堆转储.你有什么想法我可以

我们遇到的问题是我们的非堆内存一直在增长.所以我们必须每隔3天重启我们的jee( java8) – webapp(正如你在这里截图所示: screenshot from non-heap- and heap-memory)

我已经试图找出填满非堆的东西了.但我找不到任何工具来创建非堆转储.你有什么想法我可以调查一下,找出哪些元素越来越多?

Java的版本

java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14,mixed mode)

Tomcat的版本

Apache Tomcat Version 7.0.59

解决方法

由 MemoryPoolMXBean提供的非堆内存使用情况计算以下内存池:

> Metaspace
>压缩类空间
>代码缓存

换句话说,标准的非堆内存统计信息包括已编译方法和已加载类占用的空间.最有可能的是,增加的非堆内存使用量表明类加载器泄漏.

使用

> jmap -clstats PID转储类加载器统计信息;> jcmd PID GC.class_stats用于打印有关每个已加载类的内存使用情况的详细信息.后者需要-XX:UnlockDiagnosticVMOptions.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读