GC调优-XX:PrintGCDetails深度解析
2024-08-29 03:46:18
查看程序运行GC的运行情况
资源充足的GC情况
新生代
老年代
元空间
因为现在资源充足没有发生GC
*案例:将JVM初始化内存与最大内存(防止内存抖动,反复GC)调至10m,new一个50m的数组对象,发生OOM
源码
package com.adun.test_jvm;
/**
* @author zhudunfeng
* @date 2020/8/29 22:13
*
* JVM参数调优:
* (1)标准参数
* (2)X参数(了解):
* Xint:解释执行
* Xcomp:第一次使用就编译成本地代码
* Xmixed:混合模式,(先编译再执行)
* (3)XX参数
* (i)Boolean类型
* (ii)KV设值类型
*
* 常用的-XX参数
* -Xms JVM初始大小内存,默认为物理内存的1/64 等价于-XX:InitialHeapSize
* -Xmx JVM最大分配内存,默认为物理内存的1/4 等价于-XX:MaxHeapSize
* -Xss 设置单个线程栈的大小,一般默认为512k~1024k 这里是根据Jvm所在平台来确定【查看官网Java文档】 等价于-XX:ThreadStackSize
* -Xmn 设置年轻代大小【年轻代中【伊甸区:幸存0区:幸存1区】【8:1:1】】
* -XX:MetaspaceSize 设置元空间的大小
*/
public class HelloGC {
public static void main(String[] args) throws InterruptedException {
//返回Java的虚拟机中的内存信息
long totalMemory = Runtime.getRuntime().totalMemory();
//返回Java虚拟机试图使用的最大内存量
long maxMemory = Runtime.getRuntime().maxMemory();
System.out.println("TotalMembery(Xms)=:"+totalMemory+"(字节)、"+(totalMemory/(double)1024/1024)+"MB");
System.out.println("TotalMembery(Xmx)=:"+maxMemory+"(字节)、"+(maxMemory/(double)1024/1024)+"MB");
System.out.println("*************hello java");
//作死操作,new 一个对象超过最大内存
// byte[] aByte = new byte[50*1024*1024];
// Thread.sleep(Integer.MAX_VALUE);
}
}
JVM参数配置
查看GC情况
GC参数解读
FullGC参数解读
规律
:
【名称】【GC前内存占用】(->)【GC后内存占用】(该区内存总大小)
原文路径
最新文章
- js厘米与英寸尺码转换
- 封装自己的DB类(PHP)
- 小菜学习Winform(六)剪切板和拖放复制
- [css 揭秘]-css coding tips
- Entity Framework基础01
- 一个很详细的web.xml讲解
- WPF错误:当前上下文中不存在名称“InitializeComponent”
- 12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(5)
- GetType() 和typeof() 的区别
- Java泛型解析(03):虚拟机运行泛型代码
- 从一般分布式设计看HDFS设计思想与架构
- oracle pl/sql 基础
- commonjs模块和es6模块的区别
- chrome下input文本框自动填充背景问题解决
- HTML5 full-screen全屏API
- PHP开发小技巧①①—php实现手机号码显示部分
- 关于矩阵A*b=A*c 中b是否等于c
- vi写完文件保存时才发现是readonly😂
- windows cmd中查看某个命令所在的路径
- Flume+Morphlines实现数据的实时ETL
热门文章
- JVM学习第三天(JVM的执行子系统)之字节码指令
- 【BZOJ3453】XLkxc
- Spring.Net依赖注入(属性注入)学习笔记
- Centos7安装后进不去,死活就要填licence,该怎么办?
- oracle之二归档日志
- python中eval()
- [Spark]Spark、Yarn 入门
- [剑指Offer]56-数组中数字出现的次数(位运算)
- Java成神之路:第二帖---- 数据结构与算法之稀疏数组
- 【译】Visual Studio 2019 的 Local Process with Kubernetes