内存和CPU排查基础

2022/2/25 7:23:10

本文主要是介绍内存和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



这篇关于内存和CPU排查基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程