jvm_堆空间

1.堆的核心概述

2.设置堆内存大小和OOM

3.年轻代和老年代

4.图解对象分配过程

5.Minor GC、Major GC、Full GC

6.堆空间分代思想

7.内存分配策略

8.为对象分配内存:TLAB

9.小结:堆空间的参数设置

10.堆是分配对象的唯一选择吗

 

-Xms10m -Xmx10m -XX:+PrintGCDetails

-Xms表示堆区的起始内存,等价于 -XX:InitialHeapSize(年轻代+老年代),默认1/64

-Xmx表示堆区的最大内存,等价于 -XX:MaxHeapSize ,默认1/4

一旦堆区中的内存大小超过“-Xmx”,抛出OutOfMemoryError

-Xms = Runtime.getRuntime().totalMemory()/1024/1024

-Xmx = Runtime.getRuntime().maxMemory()/1024/1024

S0 S1标记复制算法

使用jvisualVM抽样器推测OOM的原因

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/root/logs/***/gc.log
-XX:+PrintTenuringDistribution:用于显示每次Minor GC(年轻代GC)时Survivor区中各个年龄段的对象的大小

# GC日志
# 必备
-XX:+PrintGCDetails 
-XX:+PrintGCDateStamps 
-XX:+PrintTenuringDistribution 
-XX:+PrintHeapAtGC 
-XX:+PrintReferenceGC 
-XX:+PrintGCApplicationStoppedTime

# 可选
-XX:+PrintSafepointStatistics 
-XX:PrintSafepointStatisticsCount=1

# GC日志输出的文件路径
-Xloggc:/home/ec2-user/dt/gc-%t.log
# 开启日志文件分割
-XX:+UseGCLogFileRotation 
# 最多分割几个文件,超过之后从头文件开始写
-XX:NumberOfGCLogFiles=14
# 每个文件上限大小,超过就触发分割
-XX:GCLogFileSize=100M

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值