美文网首页
GC调优工具

GC调优工具

作者: 蓝调_4f2b | 来源:发表于2022-11-26 12:34 被阅读0次

1. jps

查看当前正在运行的所有java进程。

1. Jmap

用来查看内存信息,实例个数及占用空间大小

1.1 查看某个java进程信息

jmap -histo pid > ./log.txt


jmap.png

其中:
(1)instances: 实例数量
(2)bytes: 占用空间大小
(3)class name: 类名称

1.2 查看该进程堆信息

(1)jmap -heap pid


查看该进程堆信息.png

(2)查看堆内存dump
jmap -dump:format=b, file=eureka.hprof pid

2. jstack

2.1 查看进程是否死锁

使用命令:jstack pid

2.2 尝试查找cpu占用最高的线程堆栈信息

(1)top -p pid找到java进程内存信息


top -p pid.png

(2)按H,获取每个线程的内存信息


获取每个线程的内存信息.png
(3)找到内存和cpu占用最高的线程tid,比如19664
(4)转为十六进制得到

0x4cd0,此为线程id的十六进制表示
(5)执行jstack 19663|grep
-A 10 4cd0,得到线程堆栈信息中4cd0这个线程所在的位置。

3. jinfo

查看正在运行的java应用的扩展参数。
(1)查看jvm相关参数:
jinfo -flags pid

4. jstat

查看堆内存各个部分的使用量,加载类数量。

4.1 垃圾回收统计

jstat -gc pid,查看垃圾回收器整体情况,以此评估GC压力


jstat -gc pid.png
4.2 评估JVM运行情况

(1)检查年轻代对象增长速度
jstat -gc pid 1000 10(每隔1秒执行1次命令,共执行10次)
(2)优化思路
尽量让每次Young GC后的存活对象小于Survivor区域的50%,都留存在年轻代里。尽量别让对象进入老年
代。尽量减少Full GC的频率,避免频繁Full GC对JVM性能的影响。

相关文章

  • java-GC分析

    主要关注点: GC日志分析 调优命令 调优工具 GC日志分析 摘录GC日志一部分(前段为年轻代gc回收;后段为fu...

  • 使用GCViewer调优GC

    在对 GC 调优的过程中,我们不仅需要知道 GC 的原理,更重要的是要熟练使用各种监控和分析工具,具备 GC 调优...

  • JVM-GC调优

    零、本文纲要 一、 GC调优基本思路二、 新生代内存调优三、 老年代内存调优四、 GC调优案例 官方GC调优指南[...

  • 第二十九章、GC调优思路

    以G1 GC 为例,谈谈GC调优思路? 谈到调优,这一定是针对特定场景、特定目的的事情,对于GC调优来说,首先...

  • GC 日志分析工具列表

    gc日志分析工具 性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图...

  • JVM性能调优的6大步骤,及关键调优参数详解

    JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC ...

  • Java架构师面试题——JVM性能调优

    JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC ...

  • JVM GC调优入门

    JVM GC调优入门 这篇文章会介绍几个常用的调优参数,再通过两个案例介绍如何进行JVM GC调优。阅读这篇文章的...

  • Java GC调优

    1.GC调优是针对特定的场景,特定目的来说。对于GC调优来说,首先要搞清楚调优的目标是什么?从性能的角度来看,我们...

  • troubleshoot之:GC调优到底是什么

    简介 我们经常会听到甚至需要自己动手去做GC调优。那么GC调优的目的到底是什么呢?让程序跑得更快?让GC消耗更少的...

网友评论

      本文标题:GC调优工具

      本文链接:https://www.haomeiwen.com/subject/hcfcfdtx.html