JVM底层原理之元空间MetaspaceSize
1、JVM常用参数
-Xms 初始堆内存大小,默认物理内存64/1
-Xms = -XX:InitialHeapSize
-Xmx 最大堆内存,默认物理内存4/1
-Xmx = -XX:MaxHeapSize
-Xss 栈内存大小
设置单个线程栈大小,一般默认512~1024kb。
单个线程栈大小跟操作系统和JDK版本都有关系
-Xss = -XX:ThreadStackSize
-Xmn 年轻代大小
-XX:MetaspaceSize 元空间大小
元空间本质跟永久代类似,都是对JVM规范中方法区的实现。
不过元空间与永久代最大的区别在于:元空间并不在虚拟机中,而是使用本机内存。
因此,元空间大小仅受本地内存限制。
-XX:+PrintGCDetails 打印GC详细日志信息
-XX:SurvivorRatio 幸存者比例设置
-XX:NewRatio 新生代比例设置
-XX:MaxTenuringThreshold 进入老年代阈值设置
2、查看元空间MetaspaceSize默认值
(1)java -XX:+PrintFlagsInitial
uintx MetaspaceSize = 21810376(大约20.80MB) {pd product}
(2)JVM常用参数案例
【1】默认JVM命令行参数
-XX:InitialHeapSize=265858688
-XX:MaxHeapSize=4253739008
-XX:+PrintCommandLineFlags
-XX:+UseCompressedClassPointers
-XX:+UseCompressedOops
-XX:-UseLargePagesIndividualAllocation
-XX:+UseParallelGC
【2】JVM常用参数设置
-Xms128m -Xmx4096m -Xss1024k -XX:MetaspaceSize=512m -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:+UseSerialGC
设置完毕之后,运行程序如下:
-XX:InitialHeapSize=134217728
-XX:MaxHeapSize=4294967296
-XX:MetaspaceSize=536870912
-XX:+PrintCommandLineFlags
-XX:+PrintGCDetails
-XX:ThreadStackSize=1024
-XX:+UseCompressedClassPointers
-XX:+UseCompressedOops
-XX:-UseLargePagesIndividualAllocation
-XX:+UseSerialGC
【3】Java1.8默认垃圾回收器
-XX:+UseParallelGC 并行垃圾回收器(默认)
-XX:+UseSerialGC 串行垃圾回收器
- ASP.NET Datatable转Json
- ASP.NET MVC/Core表单提交后台模型二级属性验证问题
- ASP.NET执行SQL Sever存储过程
- 小白开学Asp.Net Core《三》
- CSDN周刊:Facebook 发币 Libra;谷歌十亿美金为穷人造房;第四代树莓派 Raspberry Pi 4 发布
- ASP.NET Core中GetService()和GetRequiredService()之间的区别
- 随手记录下各种坑 树莓派 Raspbian debian 9.9 stretch ros相关
- 使用python/casperjs编写终极爬虫-客户端App的抓取!
- ASP.NET动态网站课程设计——个人网页
- asp.net core系列 66 Dapper介绍--Micro-ORM
- 开发Asp.Net Core 学习笔记(五)-- Filter
- asp.net core 系列之Startup
- owasp top 10统计
- ASP.NET MVC form表单数据回填
- asp.net core 系列之Reponse caching 之 Response Caching Middleware(4)
- asp.net core 系列之Response caching 之 Distributed caching(3)
- spring源码分析之spring注解@Aspect是如何工作的?
- Asp.net mvc Layout View解析顺序
- Asp.NETCore让FromServices回来
- ASP.NET Core on K8S学习初探(2)K8S基本概念快速一览