美文网首页
内存分析工具

内存分析工具

作者: 16325 | 来源:发表于2020-03-31 20:06 被阅读0次

在JDK的bin目录下有一些java应用程序的诊断辅助工具。

jps 查看java进程

E:\dev-env\Java\jdk1.8.0_121\bin>jps
9872
7604 RemoteMavenServer
11496 Launcher
3336 Launcher
10476 Jps
  • -m 可以输出传入主程序的参数
  • -l 输出主函数的完整路径
  • -v 显示java虚拟机的参数

jstat 查看运行时信息

[class]
用于查看类加载情况的统计
jstat -class pid:显示加载class的数量,及所占空间等信息。

[compiler]
查看HotSpot中即时编译器编译情况的统计
jstat -compiler pid:显示VM实时编译的数量等信息。

[gc]
查看JVM中堆的垃圾收集情况的统计
jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。

[gccapacity]
查看新生代、老生代及持久代的存储容量情况
jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小

[gccause]
查看垃圾收集的统计情况(这个和-gcutil选项一样),如果有发生垃圾收集,它还会显示最后一次及当前正在发生垃圾收集的原因。
jstat -gccause:显示gc原因

[gcnew]
查看新生代垃圾收集的情况
jstat -gcnew pid:new对象的信息

[gcnewcapacity]
用于查看新生代的存储容量情况
jstat -gcnewcapacity pid:new对象的信息及其占用量

[gcold]
用于查看老生代及持久代发生GC的情况
jstat -gcold pid:old对象的信息

[gcoldcapacity]
用于查看老生代的容量
jstat -gcoldcapacity pid:old对象的信息及其占用量

[gcpermcapacity]
用于查看持久代的容量
jstat -gcpermcapacity pid: perm对象的信息及其占用量

[gcutil]
查看新生代、老生代及持代垃圾收集的情况
jstat -util pid:统计gc信息统计

[printcompilation]
HotSpot编译方法的统计
jstat -printcompilation pid:当前VM执行的信息

E:\dev-env\Java\jdk1.8.0_121\bin>jstat -class 3336
Loaded  Bytes  Unloaded  Bytes     Time
  3462  6532.2        0     0.0       3.89
E:\dev-env\Java\jdk1.8.0_121\bin>jstat -gc 3336
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU
   CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
5120.0 5120.0  0.0   4675.9 33280.0  33244.7   87552.0      88.0    18304.0 1780
1.0 2176.0 2068.3      3    0.129   0      0.000    0.129

jinfo 查看虚拟机参数

除了查看,还可以修改虚拟机参数 ,但是能力十分有限。

jmap 导出堆文件

导出对象统计信息
导出java程序当前堆的快照
查看classloader信息

jhat

分析java应用程序的堆快照

jstat

查看线程堆栈信息


image.png

jcmd

1.7新增的多功能工具,可以导出堆,查看集成,导出线程,执行GC等

jconsole 图形化工具

visualVM

Mission Control

相关文章

  • 内存分析

    内存分析可以分为静态内存分析和动态内存分析;主要是利用Xcode自带工具进行内存泄露监测; 静态内存分析: 概念:...

  • Mac OS下MAT(Memory Analyzer Tool)

    简述MAT(Memory Analyzer Tool),内存分析工具,是一款常用的JVM调优工具,对于分析内存泄漏...

  • 内存泄露实例分析 -- Android内存优化第四弹

    引言 前文内存分析工具集中介绍了一系列的内存分析工具及其基本使用, 诸如Memory Monitor, HPROF...

  • iOS 内存优化

    内存优化 一. 内存泄露 Xcode 自带了两种内存泄露查询工具:1 . Analyze(静态分析工具): 逻辑缺...

  • LeakCanary源码分析

    作用 监控内存泄露 基于MAT(内存分析工具) 分析 如何得到未回收对象?ReferenceQueue+WeakR...

  • 聊几个iOS中的面试题

    一、内存管理 1、分析工具: 静态分析法:Analyze。 动态分析法:Instrument工具库里的Leaks。...

  • 内存分析工具

    在JDK的bin目录下有一些java应用程序的诊断辅助工具。 jps 查看java进程 -m 可以输出传入主程序...

  • 内存分析工具

    https://github.com/pschraut/UnityHeapExplorer[https://git...

  • 内存使用总结篇 -- Android内存优化第五弹

    前面几弹从Android内存管理, GC机制理论, 到内存分析工具, 内存泄露实例分析等几个方面聊了下Androi...

  • Android内存优化

    Android内存管理机制 优化内存的意义 内存分析工具 避免内存泄露 优化内存空间未完待续

网友评论

      本文标题:内存分析工具

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