JVM调优-常用jvm命令、意义及用法

JVM常用命令

1 jps

查看Java进程
在这里插入图片描述

2 jinfo

(1) 实时查看和调整JVM配置参数

The jinfo command prints Java configuration information for a specified Java
process or core file or a remote debug server. The configuration information
includes Java system properties and Java Virtual Machine (JVM) command-line
flags.

(2)查看配置参数

用法:jinfo -flag 参数名 PID — 查看某个java进程的属性的值
例:

jinfo -flag MaxHeapSize PID
jinfo -flag UseG1GC PID

在这里插入图片描述

(3)JVM配置参数实时修改(参数只有被标记为manageable的flags可以被实时修改

用法:

// 适用于Boolean类型的参数
jinfo -flag [+|-]name PID

// 使用与非Boolean类型的参数
jinfo -flag name=value PID

// name为参数名

例:

jinfo -flag +UseG1GC 8700

(4)查看曾经覆过值得参数

jinfo -flags PID

3 jstat

(1)实时查看和调整JVM配置参数

The jstat command displays performance statistics for an instrumented Java
HotSpot VM. The target JVM is identified by its virtual machine identifier, or
vmid option.

(2)查看类装载信息

jstat -class PID 1000 10   查看某个java进程的类装载信息,每1000毫秒输出一次,共输出10

例:
在这里插入图片描述

(3)查看垃圾收集信息

jstat -gc PID 1000 10

例:
在这里插入图片描述

4 jstack

(1)查看线程堆栈信息

The jstack command prints Java stack traces of Java threads for a specified Java
process, core file, or remote debug server.

(2)用法

jstack PID

例:
在这里插入图片描述

5 jmap

(1)生成堆转储快照

The jmap command prints shared object memory maps or heap memory details of a
specified process, core file, or remote debug server.

(2)打印出堆内存相关信息

// 先设置堆大小固定值为300M
-XX:+PrintFlagsFinal -Xms300M -Xmx300M

// 使用jmap查看堆内存信息
jmap -heap PID

在这里插入图片描述

(3)dump出堆内存相关信息

用法:

jmap -dump:format=b,file=heap.hprof PID

例:

// 文件名要以.hprof结尾,后面的章节会讲使用MAT工具进行堆内存分析,其要求为.hprof文件
jmap -dump:format=b,file=heap.hprof 44808

在这里插入图片描述

(4) 堆内存溢出的时候,自动dump堆内存文件

JVM中为我们准备了这样的功能,启动JVM时,加上以下参数就可以在发生内存溢出时,自动dump出改文件。

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof

(5)dump文件分析

会在后续为大家演示MAT工具的使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值