首页 > 其他分享 >常用的JVM参数

常用的JVM参数

时间:2022-10-23 18:58:13浏览次数:62  
标签:常用 收集器 eg XX 参数 内存 JVM GC

常用的JVM参数

内容会持续补充

堆内存相关

序号 参数 解释
1 -Xms JVM启动时申请的初始Heap值, eg:-Xms1G 堆内存初始值为1G
2 -XX:InitialHeapSize JVM启动时申请的初始Heap值,eg:-XX:InitialHeapSize=1024m, 堆内存初始值为1G
3 -XX:MaxHeapFreeRation 缩小堆内存的时机,默认当堆中空闲内存大于70%时,会减小堆内存,最小到-Xms指定值; eg:-XX:MaxHeapFreeRation=70,
4 -Xmx JVM可申请的最大Heap值,eg:-Xmx2g 堆最大值为2G
5 -XX:MaxHeapSize JVM可申请的最大Heap值,-XX:MaxHeapSize=2048m 堆最大值为2G
6 -XX:MinHeapFreeRatio 扩大堆内存的时机,默认当堆内存1使用率大于40%时,会扩大堆内存,最大到-Xmx指定值, eg:-XX:MinHeapFreeRatio=50,堆区内存使用到达50%触发堆区扩容
7 -Xmn Java Heap Young区大小, eg:-Xmn512m,新生代大小为512MB
8 -XX:SurvivorRation survivor区和Eden区大小比率,eg:-XX:SurvivorRation=8, s0:s1:eden = 1:1:8
9 -XX:NewRatio 新生代和老年代的占比,eg:-XX:NewRatio=4 新生代:老年代=1:4
10 -XX:PretenureSizeThreshold 指定大对象的界限,超过这个值,对象会直接在老年代分配。eg:-XX:PretenureSizeThreshold=1024 对象大小超过1024子节,直接在老年代分配内存

栈相关

序号 参数 解释
1 -Xss 指定单个虚拟机栈的大小, eg:-Xss1m 设置虚拟机栈大小为1MB
2 -XX:ThreadStackSize 指定单个虚拟机栈的大小, eg:-XX:ThreadStackSize=1m 设置虚拟机栈大小为1MB
栈大小太小会导致栈深度不够抛出StackOverflowException异常,栈太大又会导致线程可以创建的线程数减少。
另外,操作系统用对单个线程可以创建的栈数量又限制,线程并不能无限生成

方法区相关

序号 参数 解释
1 -XX:PermSize 方法区初始容量, eg:-XX:PermSize=64m, 方法区初始大小为64M
2 -XX:MaxPermSize 方法区初始容量, eg:-XX:PermSize=512m, 方法区最大为512M

垃圾收集器

序号 参数 解释
1 -XX:+UseSerialGC 新生代开启使用Serial垃圾收集器,老年代需要使用SerialOld
2 -XX:-UseSerialGC 新生代关闭使用Serial垃圾收集器
3 -XX:+UseParNewGC 新生代开启使用ParNew垃圾收集器, 老年代需要使用功能CMS
4 -XX:-UseParNewGC 新生代关闭使用ParNew垃圾收集器
5 -XX:+UseConcMarkSweepGC 老年代开启使用CMS垃圾收集器
6 -XX:-UseConcMarkSweepGC 老年代关闭使用CMS垃圾收集器
7 -XX:+UseG1GC 开启使用G1垃圾收集器
8 -XX:-UseG1GC 关闭使用G1垃圾收集器

GC策略

序号 参数 解释
1 -XX:+PrintGCDetails 打印详细GC日志
2 -XX:+PrintGCApplicationStoppedTime 打印暂停时间
3 -XX:InitialTenuringThreshol 进入老年代最小的GC年龄, 每经历一次Minor GC,年龄+1
4 -Xloggc: 设置GC日志文件路径
5 -XX:+PrintHeapAtGC GC完成后打印JVM堆中各个区域使用情况
6 -XX:+PrintTenuringDistribution 打印存活实例的年龄信息
7 -XX:+HeapDumpBeforeFullGC FULL GC前生成dump文件
8 -XX:+HeapDumpAfterFullGC FULL GC后生成dump文件
9 -XX:HeapDumpPath 设置Dump保存的路径

其他

序号 参数 解释
1 -XX:+PrintFlagsInitial 查看所有的JVM参数,可以用来模糊查找

标签:常用,收集器,eg,XX,参数,内存,JVM,GC
From: https://www.cnblogs.com/bmilk/p/16819124.html

相关文章

  • 常用命令--envsubst
    envsubst是一个非常好用的工具,尤其善于处理和环境变量相关的事务 envsubst的使用场景:通常我们需要获取某一个或者几个环境去替换系统中的某些变量,这种情况下我们只需使......
  • C/C++ 一维数组和二维数组参数传递的几种方式
    一维数组:#include<iostream>#include<windows.h>#include<string>usingnamespacestd;//在以下几种方法中,ages都不是真正的数组,实际上是一个指针int*agesint......
  • Strrocks的参数设置
    查看所有的参数showvariableslike"%%";查看cbo_enable_low_cardinality的参数showvariableslike"%cbo_enable_low_cardinality%";参数设置setglobalcbo_enable_low_......
  • go gin 获取 参数
      post             get  ......
  • JVM内存模型
    前情提要上面对运行时数据区描述了很多,其实重点存储数据的是堆和方法区(非堆),所以内存的设计也着重从这两方面展开(注意这两块区域都是线程共享的)。对于虚拟机栈,本地方法栈......
  • 【博学谷学习记录】超强总结,用心分享 | JVM内存结构
    目录程序计数器:Java虚拟机栈:本地方法栈:堆:元空间:补充这里结合一段java代码的执行理解内存划分执行javac命令编译源代码为字节码执行java命令创建JVM,调......
  • postman发送json参数
    请求方式选择POST,设置Headers,key为Content-Type,value为application/json。 设置Body:类型选择RAW,请求报文为json字符串。  以上即是postman发送json报文的......
  • 常用dos命令
    切换系统盘D:cd切换文件夹cd..返回上一级/d命令cd/dC:\Users\Jack也可以完成切换系统盘一些功能命令cls清屏exit退出终端ipconfig查看电脑ip配置部分应用cal......
  • Django-ORM常用字段及参数
     目录-常用字段--内容--自定义字段-字段参数--普通---null---unique---db_index---default--DateField和DateTimeField---auto_now_add---auto_now--关系......
  • MySQL - 数据库配置参数、性能优化教程
     将 MySQL 部署到普通的 X86 服务器上,在不经过任何优化情况下,MySQL 理论值正常可以处理 2000 左右 QPS。不过当访问量达到 1500 左右并发连接时,数据库处理性能......