内存和CPU排查基础

一、从机器中down下相关的堆栈信息进行分析

二、各命令及内容说明

2.1 jstat

查询GC使用情况。

将下载的文件加载到线上分析工具网站:gceasy.io

参数说明:

字段 说明
S0 幸存1区当前使用比例
S1 幸存2区当前使用比例
E 伊甸园区使用比例
O 老年代使用比例
M 元数据区使用比例
CCS 压缩使用比例
YGC 年轻代垃圾回收次数
FGC 老年代垃圾回收次数
FGCT 老年代垃圾回收消耗时间(秒)
GCT 垃圾回收消耗总时间(秒)

查看是否频繁有YGC或FGC的情况

2.2 jstack

查询堆栈情况。

将下载的文件加载到线上分析工具网站:fastthread.io

主要查看Runable状态的线程,是否有执行过长而阻塞其他线程的情况。

2.3 jmap-histo

查询对象情况。

参数说明:

字段 说明
instances 实例个数
bytes 所占字节大小
class name 类名

如果有业务类对象的实例个数、占用字节大小过大,可能有内存泄漏。

2.4 jmap-heap

堆内存配置情况

2.5 jmap-dump

下内存快照,分析问题,慎用,因为需要提取和下载大文件,会阻塞进程。

工具如 MNT

上一篇:leetode24_两两交换链表中的节点


下一篇:python 如何实现5°×5°的空间窗口滑动