JVM查看内存信息及“调优”方式

命令和工具简介

  • Jmap 查看内存信息
  • Jstack 查看进程信息
  • Jinfo 查看正在运行的java应用程序的扩展参数
  • Jstat 查看堆内存各部分使用量
  • jvisualvm 可视化查看工具
jps 查看系统运行的java程序

本例以tomcat程序为例
在这里插入图片描述

Jmap 命令详情

1.查看内存信息和实例个数
写入log.txt

Jmap -histo 12108 >./log.txt

在这里插入图片描述
2.查看堆信息

Jmap -heap 12108

在这里插入图片描述
可以使用-dump 下载堆内存,然后导入jvisualvm工具查看

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

3.设置内存溢出自动导出dump文件

-XX:+HeapDumpOnOutOfMemoryEerror
-XX:+HeapDumpPath=./(路径)

Jstack命令详情

1.查看线程情况

jstack 12108 

在这里插入图片描述
2.检测死锁情况

jstack 12108 |grep -A 10 deadlock

Jinfo 命令详情

1.使用 -flags 查看运行参数

Jinfo -flags 12108

在这里插入图片描述

Jstat 命令详情

1.查看垃圾回收统计
jstat -gc pid

jstat -gc 12108

在这里插入图片描述

  • S0C 第一个幸存区容量
  • S0U 第二个幸存区使用量
    C是容量 U是使用量
  • S1U S1U 第二个幸存区信息
  • EC EU 伊甸区信息
  • OC OU 老年代信息
  • MC MU 元空间信息
  • CCSC CCSU 压缩空间信息
  • YGC:年轻代垃圾回收次数
  • YGCT:年轻代垃圾回收消耗时间,单位s
  • FGC:老年代垃圾回收次数
  • FGCT:老年代垃圾回收消耗时间,单位s
  • GCT:垃圾回收消耗总时间,单位s

jvisualvm 可视化工具使用

在命令行中运行

jvisualvm

在这里插入图片描述

设置内存参数

eg:
‐Xms1536M ‐Xmx1536M ‐Xmn1024M ‐Xss256K ‐XX:SurvivorRatio=6 ‐XX:MetaspaceSize=256M ‐XX:MaxMetaspaceSize=256M
  • ‐Xms 初始堆大小
  • -Xmx 最大堆大小
  • ‐Xmn 年轻代大小
  • ‐Xss 栈容易大小
  • -XX:SurvivorRatio=n 年轻代中Eden区与survivor区的比值 , 则为 Eden:s0:s1 6:1:1
  • -XX:MetaspaceSize 元空间大小
  • -XX:MaxMetaspaceSize 最大元空间大小
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值