前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试题33:说一下你工作中用到的JVM参数有哪些?

面试题33:说一下你工作中用到的JVM参数有哪些?

作者头像
爪哇缪斯
发布2023-05-09 21:40:12
1370
发布2023-05-09 21:40:12
举报
文章被收录于专栏:爪哇缪斯爪哇缪斯

【垃圾收集器相关JVM参数】

回收器

JVM参数

作用

ParNew

-XX:+ParallelGCThreads

GC时的工作线程数量

ParallelOldGC

ParallelGC

-XX:MaxGCPauseMillis

设置最大GC停顿时间

-XX:GCTimeRatio

设置吞吐量大小

-XX:+UseAdaptiveSizePolicy

打开自适应GC策略‍

CMS

-XX:ConcGCThreads

GC时的工作线程数量

-XX:ParallelCMSThreads

-XX:CMSInitiatingOccupancyFraction

默认68,即当老年代68%时执行CMS回收

-XX:+UseCMSCompactAtFullCollection

完成GC后,进行一次内存碎片整理

G1

-XX:+ParallelGCThreads

GC时的工作线程数量

-XX:MaxGCPauseMillis

设置最大GC停顿时间

-XX:InitiatingHeapOccupancyPercent

默认45,当堆占用率达到45%,执行并发标记周期


【JVM常用参数】

  • 垃圾回收日志
    • 打印GC日志详细信息 -XX:+PrintGCDetails
    • 打印更全面的堆信息(会在每次GC前后分别打印堆的信息) -XX:+PrintHeapAtGC
    • 每次GC发生时,额外输出GC发生的时间(该时间为虚拟机启动后的时间偏移量) -XX:+PrintGCTimeStamps
    • 打印应用程序的执行时间 -XX:+PrintGCApplicationConcurrentTime
    • 打印应用程序由于GC而产生的停顿时间 -XX:+PrintGCApplicationStoppedTime
    • 跟踪系统内的软引用、弱引用、虚引用和Finallize队列 -XX:+PrintReferenceGC
    • 虚拟机允许将GC日志以文件的形式输出(在当前目录下的log文件夹中生成gc.log日志文件) -Xloggc:log/gc.log
    • 打印虚拟机接受到的命令行显式参数 -XX:+PrintVMOptions
    • 打印虚拟机接受到的命令行显式和隐式参数 -XX:+PrintCommandLineFlags
    • 打印所有的系统参数值 -XX:+PrintFlagsFinal
  • 类加载、类卸载的跟踪
    • 跟踪类的加载和卸载 -verbose:class
    • 跟踪类的加载 -XX:+TraceClassLoading
    • 跟踪类的卸载 -XX:+TraceClassUnLoading
    • 查看当前系统中占用空间最多的对象(在Java控制台按下Ctrl+Break组合键) -XX:+PrintClassHistogram

【配置JMM的参数】

  • 堆和永久代的分配参数示意图
  • 堆配置
    • 设置初始堆空间 -Xms30m
    • 设置最大堆空间 -Xmx30m
    • 设置新生代的大小 -Xmn10m
    • 设置新生代eden和from/to空间的比例

(-XX:SurvivorRatio=eden/from=eden/to)

-XX:SurvivorRatio=8

  • 设置老年代和新生代的比例(-XX:NewRatio=老年代/新生代) -XX:NewRatio=2

  • 方法区配置
    • 设置初始永久代大小 -XX:PermSize=5m
    • 设置最大永久代大小(默认情况下为64MB) -XX:MaxPermSize=5m
    • 设置最大元数据空间 -XX:MaxMetaspaceSize=20m
  • 栈配置
    • 指定栈的大小 -Xss20m
  • 直接内存配置
    • 最大可用直接内存(默认为最大堆空间,即:-Xmx) -XX:MaxDirectMemorySize=200m
  • 堆溢出处理
    • 内存溢出时,导出整个堆的信息 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/muse/logs/a.dump
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爪哇缪斯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档