目录

1. 环境工具

2. jstat查看堆内存整体使用情况

3. jmap查看堆内存使用详情

4. jmap去dump对象详情


1. 环境工具

CentOS7,安装Java

2. jstat查看堆内存整体使用情况

命令:jstat -gcutil $pid 1000

解析:

(1)参数1000表示间隔1秒。

(2)这个命令的功能类似jvisualvm中的visualVM插件的功能.

(3)结果中,S0和S1代表两个Servivor, E代表Eden区,O代表年老区,YGC年轻代的回收等信息

(4)整个堆区划分为新生代和老年代;新生代又被划分成 Eden + From Survivor +To Survivor 三块区域。通常,三者空间大小比例简写为3,表示3:1:1

3. jmap查看堆内存使用详情

命令:jmap -heap ${pid} 

4. jmap去dump对象详情

命令:jmap -dump:format=b,file=${fileName}.dump $pid

解析:

(1)通过top命令查进程信息,得到占用内存高的进程的pid。

(2)运行上面命令后,在当前目录下会生成${fileName}.dump文件,比如下方的17128.dump。

(3).dump文件要导出来,放到Windows下,用专门的软件打开(比如MAT),分析问题。

性能诊断定位之内存问题排查(一):监控年轻代、年老代、元数据空间变化情况相关推荐

  1. 性能诊断定位之CPU问题排查(一):win10环境1

    目录 1. 通用排查思路 2. 环境工具 3. 示例演示 3.1 准备工作:为模拟有占用CPU高的进程,这里编写一个java程序,无限循环,运行 3.2 通过 Process Explorer软件(p ...

  2. 强引用置为null,会不会被回收及内存分配及年轻代年老代算法回收

    会,GC执行时,就被回收掉,前提是没有被引用的对象 https://blog.csdn.net/qq_33048603/article/details/52727991 一定要了解垃圾回收原理 首先我 ...

  3. java内存模型 年轻代/年老代 持久区

    jvm中的年轻代 老年代 持久代 gc 虚拟机中的共划分为三个代:年轻代(Young Generation).老年代(Old Generation)和持久代(Permanent Generation) ...

  4. java 年轻代算法_java内存模型 年轻代/年老代 持久区,jvm中的年轻代 老年代 持久代 gc...

    虚拟机中的共划分为三个代:年轻代(Young Generation).老年代(Old Generation)和持久代(Permanent Generation).其中持久代主要存放的是Java类的类信 ...

  5. 性能测试诊断(CPU, 内存)

    目录 1. 性能诊断 1.1 性能测试分类 1.1.1 前端 1.1.2 后端 1.1.3 中间件 1.1.4 重点关注:http接口测试 1.2 诊断定位 1.2.1 CPU问题排查套路 (1)排查 ...

  6. windows7内存诊断工具有用吗_性能诊断利器 JProfiler 快速入门和实践

    云栖君导读:性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益.Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关 ...

  7. haddler处理队列 netty_Netty堆外内存泄漏排查,这一篇全讲清楚了

    上篇文章介绍了Netty内存模型原理,由于Netty在使用不当会导致堆外内存泄漏,网上关于这方面的资料比较少,所以写下这篇文章,专门介绍排查Netty堆外内存相关的知识点,诊断工具,以及排查思路提供参 ...

  8. 使用 .Net Memory Profiler 诊断 .NET 应用内存泄漏(方法与实践)

    使用 .Net Memory Profiler 诊断 .NET 应用内存泄漏(方法与实践) 博客分类: Troubleshooting & tuning .netASP.netLoadrunn ...

  9. plm服务器 硬件性能,如何对PLM系统进行性能诊断与调优?

    原标题:如何对PLM系统进行性能诊断与调优? PLM系统是企业最重要的信息系统之一,尤其对于研发人员,PLM系统更是日常工作中非常重要的一环.随着时间的推移,企业对PLM系统的相关应用越来越深入,一方 ...

最新文章

  1. flask的客户端服务端
  2. 框架退出的方法_AOP日志框架实现
  3. HTML5中aside标签的两种使用方法
  4. 六、“最是不招眼,凌波水上漂”
  5. fetch vue读取json文件_前端笔记——尝试理解并在JavaScript中使用Fetch()
  6. PyCharm——如果不小心修改了第三方库文件,怎么办?
  7. Spring中Bean的作用域/状态/生命周期
  8. 网络编程在线英英词典之服务器代码框架搭建(二)
  9. GPS从入门到放弃(十五)--- DCB差分码偏差
  10. 启发式搜索之八皇后问题
  11. printf() 输出数据格式汇总
  12. C语言标准库中round函数
  13. 人工智能—— 产生式表示法
  14. word保存时出现tmp文件、保存出错的恢复方法
  15. winpe装双系统linux_LINUX下安装WINDOWS双系统
  16. python里的log怎么表示_python中的对数log函数表示及用法
  17. “应用程序无法启动,因为应用程序的并行配置不正确”问题的解决
  18. Python操作word手册,与打包生成word文件
  19. 各种管理系统的UML建模图
  20. Python气象图形的绘制——预

热门文章

  1. Cocos2d-x游戏暂停、继续游戏、重新开始界面的实现---之游戏开发《赵云要格斗》(10)
  2. 图片的高频与低频分量 初识 与 相关博客
  3. GMSL虚拟通道ID简介
  4. AceDeceiver成为首个可利用苹果DRM设计漏洞感染iOS设备的木马
  5. D. Sonya and Matrix
  6. 安卓开发就等同于Java编程么?不懂的进来看看吧
  7. C语言学习笔记22/08/21
  8. pop3 smtp iamp
  9. [转帖]nginx1.17.2版本源码安装
  10. UTONMOS开启元宇宙数字化经济新纪元