JVM常用配置参数说明
堆设置
-Xms256M:初始堆大小256M,默认为物理内存的1/64
-Xmx1024M:最大堆大小1024M,默认为物理内存的1/4,等于与-XX:MaxHeapSize=64M
-Xmn64M:年轻代大小为64M(JDK1.4后支持),相当于同时设置NewSize和MaxNewSize为64M
-XX:NewSize=64M:初始年轻代大小
-XX:MaxNewSize=256M:最大年轻代大小(默认为堆最大值的1/3)
-XX:OldSize=64M:年老代大小64M(测试验证JDK1.8.191该参数设置无效,JDK11下设置成功)
-XX:NewRatio=4:年老代:年轻代=4:1,默认值2
-XX:SurvivorRatio=8:年轻代中,2个Survivor区与1个Eden区比例=2:8,Survivor占新生代内存比例为1/5,默认值8
-XX:MaxHeapFreeRatio=70:堆内存使用率大于70时扩张堆内存,xms=xmx时该参数无效,默认值70
-XX:MinHeapFreeRatio=40:堆内存使用率小于40时缩减堆内存,xms=xmx时该参数无效,默认值40

备注:
堆大小=年轻代(Young Generation)+年老代(Old Generation),网上有同学将持久代归为堆内存,感觉是错误的。
年轻代=伊甸园区(Eden Space) + 幸存者区(Survivor Space,Serial收集器有2个相同容量的幸存者区,分别叫From和To,G1收集器只有一个,此处是个人理解,不一定正确)。
持久代设置(共享内存的非堆区域)
-XX:PermSize=56M:初始分配的持久代容量,默认为物理内存的1/64(从1.8起,该参数已作废,可使用-XX:MetaspaceSize替代)
-XX:MaxPermSize=56M:持久代的最大容量,默认为物理内存的1/4,设置值过小会导致java.lang.OutOfMemoryError: PermGen space错误。(从1.8起,该参数已作废,可使用-XX:MaxMetaspaceSize替代)

元空间(共享内存的非堆区域,JDK1.8新增)
-XX:MetaspaceSize=64M:触发FullGC阈值,默认21807104B,约20.8M,而且Metaspace内存容量到达该阈值后,每次扩容都有可能会触发FullGC
-XX:MaxMetaspaceSize=512M:最大元空间大小,默认无限制
虚拟机线程堆栈
-Xss128k:设置JAVA线程堆栈大小为128k
GC相关
-Xnoclassgc:关闭JVM垃圾回收功能
-XX:+UseG1GC:使用G1垃圾回收器
-XX:+UseConcMarkSweepGC:使用CMS垃圾收集器
-XX:+UseSerialGC:使用Serial垃圾收集器
-XX:+DisableExplicitGC:静止Java程序中的FULL GC,如System.gc()
-XX:+PrintGCDetails:GC时打印详细信息(JDK11已过期,新版本使用-Xlog:gc代替)
-XX:+PrintGC:GC时打印信息(JDK11已过期,新版本使用-Xlog:gc代替)
-XX:+PrintTenuringDistribution:用于显示每次Minor GC(年轻代GC)时Survivor区中各个年龄段的对象的大小
-XX:InitialTenuringThreshol:年轻代对象转换为老年代对象最小年龄值,默认值7,对象在坚持过一次Minor GC之后,年龄就加1
-XX:MaxTenuringThreshold:年轻代对象转换为老年代对象最大年龄值,默认值15
-Xloggc:filename:将GC信息输出到文件,带时间戳(如:-Xloggc:E:\gc.txt,JKD11已过期,新版本使用-Xlog:gc:gc.txt代替,日志内容见下图)
-XX:+PrintHeapAtGC:GC时打印堆前后信息
-Xlog:gc:输出GC日志信息(JDK11新增)

其他
-XX:+HeapDumpOnOutOfMemoryError:内存溢出时Dump出当前堆内存快照
-XX:HeapDumpPath=filename:导出路径(如:-XX:HeapDumpPath=E:/a.dump)
-XX:PretenureSizeThreshold=10240:对象大小超过10KB时直接在年老代分配内存。默认值0,单位字节,表示所有的对象都在年轻代eden区分配
JVM常用配置参数说明的更多相关文章
- JVM 常用配置
JVM的配置,最常用的两个配置就是:-Xms512m –Xmx1024m -Xms设置JVM的初始化内存大小,-Xmx为最大内存大小,当突破这个值,将会报内存溢出,导致的原因有很多,主要是虚拟机的回收 ...
- HotSpot JVM 常用配置设置
本文讨论的选项是针对HotSpot虚拟机的. 1.选项分类及语法 HotspotJVM提供以下三大类选项: 1.1.标准选项 这类选项的功能是很稳定的,在后续版本中也不太会发生变化. 运行java或者 ...
- MySQL常用配置参数说明
1.sync_binlog sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来 ...
- 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制 一.综述 SuperIO(SIO)定位 ...
- Tomcat记录-tomcat常用配置详解和优化方法(转载)
常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是serv ...
- tomcat常用配置详解和优化方法
tomcat常用配置详解和优化方法 参考: http://blog.csdn.net/zj52hm/article/details/51980194 http://blog.csdn.net/wuli ...
- JVM常用命令和性能调优建议 [Could not create the Java virtual machine]
一.查看jvm常用命令jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. ...
- JVM常用命令和性能调优建议
一.查看jvm常用命令jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程 ...
- HotSpot JVM常用参数设置
转自:https://www.zybuluo.com/jewes/note/57352 选项的分类 Hotspot JVM提供以下三大类选项: 1. 标准选项:这类选项的功能是很稳定的,在后续版本中也 ...
随机推荐
- 用pdf.js实现在移动端在线预览pdf文件
用pdf.js实现在移动端在线预览pdf文件1.下载pdf.js 官网地址:https://mozilla.github.io/pdf.js/ 2.配置 下载下来的文件包,就是一个demo ...
- sqlServer区分大小写查询
sql server默认不区分大小写查询,但是有的时候部分查询语句却需要区分大小写查询,这个时候就需要进行一些特殊处理.区分大小写主要分两种方法. 转二进制判断 select * from table ...
- ROS中使用Kinect摄像头和usb摄像头
1.安装的一些包 kinect用的freenect: $ sudo apt-get install ros-indigo-freenect-launch $ sudo apt-get install ...
- webviewplugin
https://blog.csdn.net/qq_39197547/article/details/85007418 https://www.cnblogs.com/pjl43/p/9866753.h ...
- kafka 控制台命令
后台启动:bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 & 启动生产者:bin/k ...
- [C++ Primer Plus] 第8章、函数探幽(一)程序清单——内联、引用、格式化输入输出、模板、decltype
程序清单8.1(inline内联函数) #include<iostream> using namespace std; inline double square(double x) {// ...
- JS(JavaScript)的进一步了解3(更新中···)
数据的三种存储方式 String “ ” Array [ ] Json { } 所有编程语言java c python c++ 等 他们都是面向对象编程,面向对象必须有三大特点,封装, ...
- 论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN
论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN ICCV 2017 Paper: http://op ...
- linux下配置zookeeper注册中心及运行dubbo服务
dubbo和zookeeper的关系 简单来说打个比方:dubbo就是动物园的动物,zookeeper是动物园.如果游客想看动物的话那么就去动物园看.比如你要看老虎,那么动物园有你才能看到.换句话说我 ...
- Linux常用命令——文本编辑器Vim
Linux常用命令--文本编辑器Vim Linux Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...