侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

jvm参数小整理

2023-12-06 星期三 / 0 评论 / 0 点赞 / 100 阅读 / 6720 字

最近在学习jvm的相关知识,这里分享一下我整理的一些关于jvm的参数,希望能给大家帮助,谢谢! -Xms 可用的堆初始空间 -Xmx 可用的最大堆空间,

最近在学习jvm的相关知识,这里分享一下我整理的一些关于jvm的参数,希望能给大家帮助,谢谢!

-Xms 可用的堆初始空间
-Xmx 可用的最大堆空间,实际工作中可以将 -Xms、-Xmx 这两个参数设置一样大小,这样配置可以减少垃圾回收次数
-Xmn 用于设置新生代的大小
-Xss 线程的最大栈空间
-Xloggc 指定日志输出形式,可以指定输出的日志文件 -Xloggc:log/gc.log
-XX:+PrintGC 在输出日志中查看垃圾回收前后堆的大小
-XX:+PrintGCDetails 打印出详细的GC信息,也可以使虚拟机在推出前打印详细的信息
-XX:+PrintHeapAtGC 打印垃圾回收前后堆的详细信息
-XX:+PrintGCTimeStamps 打印每次GC发生的时间,该输出时间为虚拟机启动后的时间偏移量
-XX:+PrintGCApplicationConcurrrentTime 打印出应用程序的执行时间
-XX:+PrintGCApplicationStopedTime 打印应用程序由于GC停顿的时间
-XX:+PrintReferenceGC 打印系统内软引用、弱引用、虚引用和Finallize队列
-server 使用Server模式启动程序,在该模式系可以启用逃逸分析
-XX:+DoEscapeAnalysis 启用逃逸分析
-XX:+EliminateAllocations 开启标量替换(默认打开)
-XX:-UseTLAB 关闭TLAB
-XX:PermSize/MaxPermSize 方法区设置,默认MaxPermSize为64M,合理的方法区可以保存更多的类信息
-XX:MaxMetaspaceSize jdk1.8中方法区被移除,取而代之的是元数据区,可用该配置设置元数据区的大小,元数据区是堆外的直接内存,若不指定大小,虚拟机可能会消耗掉系统的所有可用内存
-verbose:class 用于跟踪类的加载和卸载
-XX:+TraceClassLoading 跟踪类的加载
-XX:+TraceClassUnloading 跟踪类的卸载
-XX:+PrintClassHistogram java虚拟机不允许开发人员在运行时打印、查看系统中类的分布情况,配置该参数后在java控制台按下 Ctrl + Break 组合键就可以看到当前类信息的柱状图
-XX:+PrintVMOptions 打印程序在运行时虚拟机接受到的命令行显示参数
-XX:+PrintCommandLineFlags 打印出传递给虚拟机的显示和隐式参数(隐式参数是由虚拟机启动时自行设置的)
-XX:+PrintFlagsFinal 打印系统所有的参数值,可以查看系统的详细配置
-XX:SurvivorRatio 用来设置新生代中 eden 空间和 from/to 空间的比例关系,-XX:SurvivorRatio=eden/from=eden/to
-XX:NewRatio 用来设置新生代和老年代的比例 -XX:NewRatio=老年代/新生代
-XX:+HeapDumpOnOutOfMemoryError 可以在堆溢出时导出整个对的信息
-XX:HeapDumpPath 配合 -XX:+HeapDumpOnOutOfMemoryError 使用,指定导出堆的存放路径
-XX:MaxDirectMemorySize 设置最大可用直接内存的大小,如果不设置默认为最大的堆空间,即-Xmx,当直接内存使用超过设置值是会触发GC,如果不能释放足够的空间,直接内存溢出会引起OOM
-XX:+UseSerialGC 可以指定使用新生代串行收集器和老年代串行收集器,虚拟机在client模式下,它是默认默认的垃圾收集器
-XX:+UseParNewGC 新生代使用ParNew回收器,老年代使用串行收集器,回收器的线程数可以用 -XX:ParallelGCThreads参数指定,一般最好和CPU数量相当,避免线程过多影响垃圾回收性能
-XX:+UseParallelGC 新生代使用ParallelGC回收器,老年代使用串行收集器
-XX:+UseConcMarkSweepGC 新生代使用ParNew回收器,老年代使用CMS垃圾回收器
-XX:+UseParalleOldlGC 新生代使用 ParallelGC 回收器,老年代使用 ParallelOldGC 回收器,
-XX:MaxGCPauseMillis 设置垃圾最大收集停顿时间,它是一个大于0的整数
-XX:GCTimeRatio 设置吞吐量大小,它是一个0到100之间的整数,如果他的值是n,那么系统将花费不超过1/(1 + n)的时间用于垃圾收集
-XX:+UseAdaptiveSizePolicy 在 ParallelGC 垃圾回收模式下,可以打开自适应GC策略,在这种模式下新生代、eden、survivior 的比例、晋升老年代的对象年龄等参数会被自动调整,已达到在堆大小,吞吐量和停顿时间之间的平衡点
-XX:-CMSPrecleaningEnabled 设置CMS垃圾回收器在并发标记后不进行预清理操作
-XX:ConcGCThreads 或者 -XX:ParallelCMSThreads 指定 CMS 并发的线程数
-XX:+UseCMSCompactAtFullCollection 开启CMS垃圾回收后进行一次内存碎片整理
-XX:CMSFullGCsBeforeCompaction 指定多少次CMS后进行一次内存压缩
-XX:+UseG1GC 打开G1收集器开关,对G1进行设置时,最重要的参数是 -XX:MaxGCPauseMillis 用来制定最大的停顿时间
-XX:+DisableExplicitGC 禁用显示的gc
-XX:PretenureSizeThreshold 用来设置对象直接晋升为老年代的阈值,单位是字节,对串行回收器和ParNew有效,对于ParallelGC无效,默认值为 0,也就是不指定最大的晋升大小,一切由运行情况决定。

广告 广告

评论区