生产服务器需要配置什么 jvm 参数

2022 年 7 月 8 日
 overthemoon

面试的时候遇到一个面试官,问我生产有没有配置垃圾回收什么的参数,我说我没配置过,面试官一口装逼的语气说,不配置怎么运行的?! 仿佛他知道了这个东西就牛逼起来了😅

7172 次点击
所在节点    Java
40 条回复
cweijan
2022 年 7 月 8 日
其实不需要, 配置参数都是为了面试时装逼
putaozhenhaochi
2022 年 7 月 8 日
qps250 配啥啊
zhady009
2022 年 7 月 8 日
一般还真没什么好设置的参数默认就跑得不错了 基本就只有 Xms Xmx Xmn
G1 改 MaxGCPauseMillis 其实也没什么用 该挂还是得挂频率问题而已
ZGC 就更不用改了自适应的
chendy
2022 年 7 月 8 日
内存的几个,最小 = 最大外加 pretouch
文件编码的几个
gc 啥的,除非真的有必要否则不动(曾经折腾过一阵 cms ,最后发现还不如默认的 parallel ,算了算了)
potatowish
2022 年 7 月 8 日
小作坊吧,后端了解即可,这是运维该管的
potatowish
2022 年 7 月 8 日
@potatowish 我见过最搞笑的,配置了一堆参数,后面又改回默认了
zzl22100048
2022 年 7 月 8 日
zgc shenandoah 都没有什么必要配置了,
frank1256
2022 年 7 月 8 日
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=<PATH_FOLDER>\<file_name>.hprof

oom 导出堆,

堆内存最大最小

其他好像没有了

有的时候会加 gclog
VeryZero
2022 年 7 月 8 日
直接反问:不配置为什么不能运行😂
salmon5
2022 年 7 月 8 日
渣渣
wolfie
2022 年 7 月 8 日
xms xmx
cheng6563
2022 年 7 月 8 日
-Xmx 控制最大堆内存
-XX:+ExitOnOutOfMemoryError 使其 OOM 时强制结束进程
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=<Path> OOM 时导出 dump

这仨是重点,其他都是调优的小细节,而且可能调了不如不调。
cheng6563
2022 年 7 月 8 日
另外还有些设置默认编码,默认时区,随机数生成器,临时目录之类的,看情况加吧。
midsolo
2022 年 7 月 8 日
-XX∶ParallelGCThreads= N 设置年轻代的并行收集线程数
-XX∶ParallelCMSThreads= N 设置 cms 的并行收集线程数

避免 docker 踩坑,谁踩过谁知道。
fiveStarLaoliang
2022 年 7 月 8 日
配啥参数,你们把 jdk 升级到 14 或者 17 比配啥参数都强
yazinnnn
2022 年 7 月 8 日
怼他说我们都是用高版本 jdk 的
dcsuibian
2022 年 7 月 8 日
如果一个配置参数很常用很合理,jvm 为什么不直接弄成默认的或者自动检测?
调优肯定有意义的(要不然为啥有这个设置),但那是针对特殊场景。

正常来说,应该是算法、程序和数据库基本没什么优化的空间了再考虑这个。
刷 oj 超时,第一步不会想着换编译器吧。
而且 jvm 都调了,操作系统不调下?底层硬件不调下?
billytom
2022 年 7 月 8 日
顺带请教一下,如何设置优先打开 https ? nginx 上那套 301 跳转到 https 上那套不好用啊
huihuiHK
2022 年 7 月 8 日
一般默认的就是最优的,自己调的话越调越慢,哈哈
cyndihuifei
2022 年 7 月 8 日
我不知道为什么总是喜欢把加个参数就叫调优,确定是优了吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/864904

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX