【jvm】linux查看java内存以及分析内存泄露 不念不忘少年蓝@ 2022-10-17 00:38 695阅读 0赞 > `前言` top相关命令:[https://blog.csdn.net/xiliuhu/article/details/6449377][https_blog.csdn.net_xiliuhu_article_details_6449377] ??? ![在这里插入图片描述][20210531162749885.png] 采摘自——[https://blog.csdn.net/evasnowind/article/details/107668276][https_blog.csdn.net_evasnowind_article_details_107668276] > `开始` * 查看所有程序的内存cpu占用情况 `top` ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70] * 根据内存情况进行排序 输入`M` ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 1] 这时,我们可以通过ps命令,查看具体是哪一个java程序 ![在这里插入图片描述][2021053114465447.png] > `生成dump文件` `jmap -dump:live,format=b,file=m.hprof [线程pid]` 输入命令后,会打印m.hprof文件信息 > `分析dump文件` 通过sz 文件名称导出到本地,然后上传到heaphero,进行分析即可。 [https://heaphero.io/][https_heaphero.io] 上传成功后,会进入到一个这样的页面: 1. 首先是分析图表: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 2] 2. 然后是各个类型内存占用信息: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 3] 2.1. 点进去百分比最高的那个,进去查看。可以看到具体是哪个地方 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 4] 3. 最后,这里提示到有可能存在内存泄露: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 5] 内档如果看不懂,可以用网页翻译为中文版: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 6] 分析 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 7] [https_blog.csdn.net_xiliuhu_article_details_6449377]: https://blog.csdn.net/xiliuhu/article/details/6449377 [20210531162749885.png]: /images/20221014/7bfd4e02586544b8b6307280ca802132.png [https_blog.csdn.net_evasnowind_article_details_107668276]: https://blog.csdn.net/evasnowind/article/details/107668276 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70]: /images/20221014/8f4a704ce59e4cf39bc4874ec9210213.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 1]: /images/20221014/3242e25ad4d84cabbf7e07d34b3785a4.png [2021053114465447.png]: /images/20221014/3385501a0f874ce293d2eb5190c0cd93.png [https_heaphero.io]: https://heaphero.io/ [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 2]: /images/20221014/b4e75ee947a4456a8137fde4d418a13e.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 3]: /images/20221014/854832ad0148450faa0ff420f0b51760.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 4]: /images/20221014/03151a3a506b4ba895e957962e116655.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 5]: /images/20221014/6e3d8105ec114fe9ad71eccd1455381b.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 6]: /images/20221014/bb66cc77acf7448dbe8ec6c6ca976d4a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3MxNDQxMTAxMjY1_size_16_color_FFFFFF_t_70 7]: /images/20221014/6cb2c472ff854ddfb7bdf341aab93b4e.png
相关 Java内存泄露问题分析 Java内存泄露是一个常见的性能问题,它会导致系统可用内存逐渐减少,直至耗尽。以下是Java内存泄露问题的深入分析: 1. **概念理解**: - 内存:计算机中用于存 ╰半橙微兮°/ 2024年09月19日 19:54/ 0 赞/ 2 阅读
相关 Java中内存泄露问题分析 在Java编程中,内存泄漏是一个常见的性能问题,它会导致可用内存逐渐减少,最终可能导致系统资源耗尽。下面从几个方面分析Java中内存泄露的问题: 1. 对象生命周期管理不当: 浅浅的花香味﹌/ 2024年09月12日 07:00/ 0 赞/ 15 阅读
相关 Java中内存泄露问题分析 在Java编程中,内存泄露是一个严重的问题。它会导致程序占用的内存持续增加,无法释放,直到系统资源耗尽。 内存泄露问题分析主要从以下几个方面进行: 1. **对象引用**: 我就是我/ 2024年09月11日 15:48/ 0 赞/ 25 阅读
相关 Java内存分析图解(内存分类、结合代码的内存分析、内存泄露) (一)JVM的内存分类 首先JVM的内存分为栈内存、堆内存及方法区: 栈内存: * 连续的存储空间,遵循**后进先出**的原则 * 每个线程包含... 你的名字/ 2024年04月20日 08:21/ 0 赞/ 39 阅读
相关 ThreadLocal内存泄露分析 目录 1 ThreadLocal快速入门使用 2 ThreadLocal内存泄露 3 如何避免内存泄露 -------------------- 痛定思痛。/ 2024年03月08日 04:59/ 0 赞/ 60 阅读
相关 java 内存泄露 public class Example \{ public static void main(String\[\] args) \{ int sum = 0; int 港控/mmm°/ 2022年12月27日 11:28/ 0 赞/ 157 阅读
相关 【jvm】linux查看java内存以及分析内存泄露 > `前言` top相关命令:[https://blog.csdn.net/xiliuhu/article/details/6449377][https_blog.csdn. 不念不忘少年蓝@/ 2022年10月17日 00:38/ 0 赞/ 696 阅读
相关 ThreadLocal的内存泄露分析以及如何避免? 前言 在分析ThreadLocal导致的内存泄露前,需要普及了解一下内存泄露、强引用与弱引用以及GC回收机制,这样才能更好的分析为什么ThreadLocal会导致内存泄露 比眉伴天荒/ 2021年09月25日 13:44/ 0 赞/ 323 阅读
还没有评论,来说两句吧...