南京 网站开发,宿州网站建设工作室,专业简历制作网站推荐,搜索引擎app一、jps
jps -v 【输出进程启动参数】
[rootVM-8-2-centos ~]# jps -v
12401 Jps -Dapplication.home/usr/local/jdk1.8.0_241 -Xms8m
16964 jar
其他参考
Java八股文必看#xff0c;入门到深入理解jvm虚拟机之基础故障指令【jps#xff0c;jstate...】-CSDN博客
二、j…一、jps
jps -v 【输出进程启动参数】
[rootVM-8-2-centos ~]# jps -v
12401 Jps -Dapplication.home/usr/local/jdk1.8.0_241 -Xms8m
16964 jar
其他参考
Java八股文必看入门到深入理解jvm虚拟机之基础故障指令【jpsjstate...】-CSDN博客
二、jstat
jstat -gc 【vmid】 【查看Java堆的状态】
[rootVM-8-2-centos dian-xhf]# jstat -gc 16964S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
12288.0 8192.0 0.0 0.0 147968.0 26136.3 55808.0 25116.2 59136.0 56068.7 7680.0 7058.2 15 0.223 3 0.341 0.564jstat -gcutil 【vmid】 【查看Java堆占用百分比】
[rootVM-8-2-centos dian-xhf]# jstat -gcutil 16964S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 0.00 0.00 17.66 45.00 94.81 91.90 15 0.223 3 0.341 0.564S0 幸存0区域 S1 幸存1区域 E 伊甸园区 O 老年区 M 元空间 【有可能是P表示永久代。具体的和jdk版本有关笔者jdk版本是8】 YGC 年轻代的GC也就是Minor GC 轻量GC 次数15 YGCT 轻量GC所耗时间 0.223秒 FGC 重量级GC次数 3 FGCT 重量级GC所耗时间 0.341秒 GCT 所有GC所耗费时间 0.564秒 三、jmap
jmap -heap pid
打印 Java 堆概要信息包括使用的 GC 算法、堆配置参数和各代中堆内存使用情况 jmap -heap 10352jmap -heap 10352
Attaching to process ID 10352, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.201-b09using thread-local object allocation.
Parallel GC with 4 thread(s)Heap Configuration://对应jvm启动参数-XX:MinHeapFreeRatio设置JVM堆最小空闲比率(defalut 40)MinHeapFreeRatio 0 //对应jvm启动参数 -XX:MaxHeapFreeRatio设置JVM堆最大空闲比率(default 70)MaxHeapFreeRatio 100//对应jvm启动参数-XX:MaxHeapSize设置JVM堆的最大大小MaxHeapSize 4280287232 (4082.0MB)//对应jvm启动参数-XX:NewSize设置JVM堆的‘新生代’的默认大小NewSize 89128960 (85.0MB)//对应jvm启动参数-XX:MaxNewSize设置JVM堆的‘新生代’的最大大小MaxNewSize 1426587648 (1360.5MB)//对应jvm启动参数-XX:OldSizevalue:设置JVM堆的‘老年代’的大小OldSize 179306496 (171.0MB)//对应jvm启动参数-XX:NewRatio:‘新生代’和‘老生代’的大小比率NewRatio 2//对应jvm启动参数-XX:SurvivorRatio设置年轻代中Eden区与Survivor区的大小比值SurvivorRatio 8//对应jvm启动参数-XX:MetaspaceSizevalue:设置JVM堆的‘元空间’的初始大小// jdk1.8 永久代已经被元空间所取代MetaspaceSize 21807104 (20.796875MB)CompressedClassSpaceSize 1073741824 (1024.0MB)//对应jvm启动参数-XX:MaxMetaspaceSize :设置JVM堆的‘元空间’的最大大小MaxMetaspaceSize 17592186044415 MBG1HeapRegionSize 0 (0.0MB)
//堆内存分布
Heap Usage:
//新生代的内存分布
PS Young Generation
//Eden区内存分布
Eden Space://Eden区总容量capacity 1425539072 (1359.5MB)//Eden区已使用used 28510792 (27.19001007080078MB)//Eden区剩余容量free 1397028280 (1332.3099899291992MB)//Eden区使用比率2.0000007407724003% used
From Space:capacity 524288 (0.5MB)used 65536 (0.0625MB)free 458752 (0.4375MB)12.5% used
To Space:capacity 524288 (0.5MB)used 0 (0.0MB)free 524288 (0.5MB)0.0% used
PS Old Generationcapacity 128974848 (123.0MB)used 24006808 (22.894676208496094MB)free 104968040 (100.1053237915039MB)18.613557893086256% used13410 interned Strings occupying 1194568 bytes.jmap -histo pid
打印 Java 堆中对象直方图通过该图可以获取每个 class 的对象数目占用内存大小和类全名信息带上 :live则只统计活着的对象
jmap -histo 10352num #instances #bytes class name
----------------------------------------------1: 27073797 433180752 java.lang.Integer2: 5442 16503144 [I3: 5005 6143944 [B4: 33835 3446608 [C5: 9721 855448 java.lang.reflect.Method6: 33751 810024 java.lang.String7: 6494 717416 java.lang.Class8: 14303 457696 java.util.concurrent.ConcurrentHashMap$Node...jmap -histo:live pid
打印 Java 堆中对象直方图通过该图可以获取每个 class 的对象数目占用内存大小和类全名信息带上 :live则只统计活着的对象统计 heap 中所有生存的对象的情况, 这个命令会先触发 gc 再统计 jmap -histo:live 10352num #instances #bytes class name
----------------------------------------------1: 27483 2670608 [C2: 6453 713152 java.lang.Class3: 27300 655200 java.lang.String4: 12861 411552 java.util.concurrent.ConcurrentHashMap$Node5: 6364 327688 [Ljava.lang.Object;6: 2496 219648 java.lang.reflect.Method7: 874 178440 [B...jmap -dump:live,formatb,filea.log pid
以 hprof 二进制格式将 Java 堆信息输出到文件内该文件可以用 JProfiler、VisualVM 或 jhat 等工具查看
使用 MAT 分析工具如 jhat 命令分析 hprof 文件
JDK 常用工具 —— jmap 详解-CSDN博客 四、jstack
jstackStack Trace for Java命令用于生成虚拟机当前时刻的线程快照。
Java八股文必看入门到深入理解jvm虚拟机之基础故障指令【jpsjstate...】-CSDN博客
分析工具jprofiler