资讯专栏INFORMATION COLUMN

java程序高内存查看实践

everfly / 2906人阅读

摘要:可以查看实时的内存使用情况。然后使用大写进程按照内存使用排序如图,然后分析具体的对象数目和占用内存大小,从而定位代码。这里只是我测试服的情况,小伙伴可以查看自己服务器上程序的内存使用情况。

1、top命令:Linux命令。可以查看实时的内存使用情况。 然后使用大写M
进程按照内存使用排序如图:

2、jmap -histo:live [pid],然后分析具体的对象数目和占用内存大小,从而定位代码。

jmap -histo:live 9823 | head -n 100 // 查询前100个内存使用过高的java类

结果如图:

从结果上看String 类使用内存过高,可以检测一下代码中String 使用情况。这里只是我测试服的情况,小伙伴可以查看自己服务器上java程序的内存使用情况。

class name 是对象类型 说明一下

B  byte
C  char
D  double
F  float
I  int
J  long
Z  boolean
[  数组,如[I表示int[]
[L+类名 其他对象

3、jmap -dump:live,format=b,file=xxx.xxx [pid],然后利用MAT工具分析是否存在内存泄漏等等。

jmap -dump:live,format=b,file=servermem.bin 9823

把这个bin文件dump下来使用MAT工具进行分析,如何使用下章讲解。
说明:由于环境不一样测试的结果很可能不一样哦

[小福利:]推荐一个非常好用的商业java分析工具 jProfile

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65186.html

相关文章

  • 性能Java代码的最佳实践

    摘要:高性能代码的最佳实践前言在这篇文章中,我们将讨论几个有助于提升应用程序性能的方法。要获得有关应用程序需求的最好最可靠的方法是对应用程序执行实际的负载测试,并在运行时跟踪性能指标。 showImg(https://segmentfault.com/img/bVbtgk4?w=256&h=254); 高性能Java代码的最佳实践前言 在这篇文章中,我们将讨论几个有助于提升Java应用程序性...

    stackfing 评论0 收藏0
  • 再一次生产 CPU 负载排查实践

    摘要:前言前几日早上打开邮箱收到一封监控报警邮件某某服务器负载较高,请研发尽快排查解决,发送时间正好是凌晨。其实早在去年我也处理过类似的问题,并记录下来一次生产排查优化实践不过本次问题产生的原因却和上次不太一样,大家可以接着往下看。 showImg(https://segmentfault.com/img/remote/1460000019507452?w=1919&h=1080); 前言 ...

    kviccn 评论0 收藏0
  • 【备战春招/秋招系列】Java程序员必备书单

    摘要:相关推荐,豆瓣评分,人评价本书介绍了在编程中条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。实战高并发程序设计推荐豆瓣评分,书的质量没的说,推荐大家好好看一下。 该文已加入开源文档:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识)。地址:https://github.com/Snailclimb... 【强烈推荐!非广告!】...

    saucxs 评论0 收藏0
  • 美团外卖Android Crash治理之路

    摘要:通过团队的全力全策,美团外卖的平均率从千分之三降到了万分之二,最优值万一左右率统计方式次数。美团外卖自年创建以来,业务就以指数级的速度发展。目前美团外卖日完成订单量已突破万,成为美团点评最重要的业务之一。 面试中常常问到的是Android的性能优化以及Crash处理。 今天我们来学习一下啊美团App的Crash处理。更多参考《Android性能优化:手把手带你全面实现内存优化》 原为地...

    elva 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<