jvm 垃圾回收

JVM主要管理两种类型的内存:堆和非堆(非堆即常说的栈)。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法 的代码都在非堆内存中
grafana
men_heap_used 堆当前使用的内存量
men_pool_used 

jstat:用于获取运行中的应用的性能和资源消耗信息,keyongyu诊断性能问题特别是与堆大小和垃圾手机相关的问题

 

jstat -gc java_pid

 

说明

S0C

Current survivor space 0 capacity (KB)

S1C

Current survivor space 1 capacity (KB)

S0U

Survivor space 0 utilization (KB)

S1U

Survivor space 1 utilization (KB)

EC

Current eden space capacity (KB)

EU

Eden space utilization (KB)

OC

Current old space capacity (KB)

OU

Old space utilization (KB)

MC

Metasapce capacity (KB)

MU

Metaspace utilization (KB)

CCSC

Compressed class space capacity (KB)

CCSU

Compressed class space used (KB)

YGC

Number of young generation garbage collection events

YGCT

Young generation garbage collection time

FGC

Number of full GC events

FGCT

Full garbage collection time

GCT

Total garbage collection time

 

jmap 用于打印运行中的VM和核心文件的内存相关的统计数据,推荐使用jcmd替代jmap,增强诊断能力,减少性能开销

jmap -heap java_pid

 

jcmd

-XX:+PrintGC
开启了简单的Gc日志模式

-XX:PrintGCDetails
开启详细的Gc模式

-XX:+PrintGCTimeStamps和-XX:+PrintGCDateStamps
将时间和日志加到Gc日志中

-Xloggc:也可以输出到指定的文件

jstat命令行工具监控jvm内存和垃圾回收,
jstat需要知道应用的进程id ps -eaf |greo java
ps -eaf |grep java.jar

jastat -gc 9582 10000 每隔一秒打印出内存和垃圾回收
jstat -gccause 7947 2s 

jmap 用于打印运行中的vm和核心文件的内存相关的统计数据
 jstat -gcutil pid

 

jps -lvm :列出本机所有的java进程的pid

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值