目的当然是使撸代码时更顺滑.
但从网上搜罗的大多数文章都只简单提到内存大小的配置, 一直没找到有系统介绍各项参数的.
另附:我正在使用的配置文件(综合了各家,本人不懂 JVM,也不知道目前这样合理否)
#堆栈设置
-Xms4096m
-Xmx4096m
-Xmn3072m
-XX:MetaspaceSize=1024m
-XX:MaxMetaspaceSize=1024m
-XX:+AlwaysPreTouch
-XX:InitialCodeCacheSize=1200m
-XX:ReservedCodeCacheSize=1200m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
# 采用何种垃圾回收参数
-XX:+UseConcMarkSweepGC
-XX:ParallelGCThreads=4
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
# JIT 参数
-XX:CICompilerCount=2
-XX:TieredStopAtLevel=1
-XX:MaxInlineLevel=3
-XX:Tier4MinInvocationThreshold=100000
-XX:Tier4InvocationThreshold=110000
-XX:Tier4CompileThreshold=120000
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Xverify:none
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
1
qfdk 2020-12-03 22:54:00 +08:00
加一条内存就好了
|
2
OysterQAQ 2020-12-03 23:13:26 +08:00
你都说你不懂 JVM 了为什么还搞呢 就调下堆内存吧
|
4
kingfalse 2020-12-03 23:42:52 +08:00 via Android
表示什么都没调,全部是默认的,配置 mbp 2018 i7 16 512
|
5
neoblackcap 2020-12-03 23:44:47 +08:00
事实证明,JVM 堆栈配 10G,上 SSD 硬盘,很快。
|
6
cubecube 2020-12-03 23:45:31 +08:00 2
贴一份我自用的吧,供各位大佬批判
-Xms1024m -Xmx2048m -XX:ReservedCodeCacheSize=320m -XX:+UseG1GC -XX:+UseCompressedOops -XX:G1HeapRegionSize=4m -XX:G1NewSizePercent=8 -XX:InitiatingHeapOccupancyPercent=40 -XX:G1ReservePercent=20 -XX:MaxGCPauseMills=100 -XX:+UseStringDeduplication -XX:+UseCompressedStrings -XX:+PerfDisableSharedMem -XX:+ParallelRefProcEnabled -ea -Xverify:none -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dsun.io.useCanonPrefixCache=false -Djdk.http.auth.tunneling.disabledSchemes="" -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -Dfile.encoding=UTF-8 -XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log -XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof |
7
rambo92 2020-12-04 00:29:53 +08:00 via Android
64g 的 mbp 表示毫无鸭梨😁
|
8
sagaxu 2020-12-04 00:32:51 +08:00 via Android
你这是负优化
|
9
limuyan44 2020-12-04 01:11:00 +08:00
只会调个 Xms Xmx,怎么优化也不如插根内存条实在,真有明显的优化官方早就默认了。
|
10
chendy 2020-12-04 07:38:56 +08:00
因为不如 jb 更了解自己的产品特性,所以调整一下 Xms 和 Xmx 就差不多了
|
11
hand515 2020-12-04 07:48:27 +08:00 via Android
关键是大内存+ssd
|
12
w292614191 2020-12-04 08:46:07 +08:00
也不知道从哪个 CSDN 复制的。
强行优化。 |
13
w292614191 2020-12-04 08:50:55 +08:00 1
|
14
yalin 2020-12-04 08:56:06 +08:00
没操心过这事
|
15
szq8014 2020-12-04 09:03:44 +08:00
如果有,那 jb 出厂的时候肯定已经调得差不多了,就调个 xms xmx 就可以了
|
16
cheng6563 2020-12-04 09:19:04 +08:00 1
换 OpenJ9 的 JVM,内存使用能少一大截。
|
17
cco 2020-12-04 09:19:48 +08:00
默认足矣,最好是硬件上提升。
|
18
riggzh 2020-12-04 09:31:33 +08:00 via iPhone
64G 内存 我直接给了 32
|
19
MrSheng 2020-12-04 10:01:22 +08:00 1
有跟我一样的么,
等它提示哪哪不够了然后在弹出的框框里面把值改大~~~ |
20
lyz1990 2020-12-04 10:15:10 +08:00
默认没觉得有什么问题
|
21
FantaMole 2020-12-04 10:30:42 +08:00
调半天不如在双十二的时候去京东买条什么酷兽,玖合那种 399 的 32G 内存,反正售后京东兜底。狠一点的,直接 4 个槽插满,上到 128G,5 年都不用考虑调优了
|
22
someonedeng 2020-12-04 11:35:51 +08:00 1
之前一直用 cms GC,时不时就 STW 几秒就很烦,不懂是 idea ( ver.2020.3 )还是 jvm (AdoptOpenJDK8)的问题。换了 G1 就没出现过可感的 STW 了
``` -server -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=2048m -XX:+AlwaysPreTouch -Xms4g -Xmx8192m -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:AutoBoxCacheMax=20000 -ea -Dsun.io.useCanonCaches=false -Dsun.awt.keepWorkingSetOnMinimize=true -Djava.net.preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes="" -Djsse.enablesSNIExtension=false -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dfile.encoding=UTF-8 -XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log -XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof ``` |
23
sugars 2020-12-04 11:38:47 +08:00 1
我 mac16 款 8G 256, Webstorm
-Xms512m -Xmx3072m -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -XX:ErrorFile=$USER_HOME/java_error_in_webstorm_%p.log -XX:HeapDumpPath=$USER_HOME/java_error_in_webstorm.hprof -Xbootclasspath/a:../lib/boot.jar 写前端没什么问题哈 |
24
AoEiuV020 2020-12-04 11:43:31 +08:00 1
网上 copy 再小改几条熟悉的,
-server -Xms8G -Xmx8G -XX:NewSize=1024m -XX:MaxNewSize=1512m -XX:NewRatio=1 -XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=1 -XX:SurvivorRatio=8 -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:+AggressiveOpts -XX:+CMSClassUnloadingEnabled -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=65 -XX:+CMSScavengeBeforeRemark -XX:+UseCMSInitiatingOccupancyOnly -XX:ReservedCodeCacheSize=64m -XX:-TraceClassUnloading -ea -Dsun.io.useCanonCaches=false -Dfile.encoding=UTF-8 -Duser.language=en |
25
no1xsyzy 2020-12-04 12:36:53 +08:00
“撸代码时更顺滑” 是指?
你没 benchmark 你怎么调优? |
26
joysir 2020-12-04 12:48:38 +08:00 1
MacOS BigSur 下 IDEA 升级到最新版的话会发现窗口被放大了,可以使用以下参数回到原来的缩放级别:
-Dsun.java2d.uiScale.enable=true -Dide.ui.scale=1 |
27
graffitist 2020-12-04 12:57:00 +08:00
有一点我不懂,撸代码的时候为什么要调 JVM ?强行优化?
|
28
youla 2020-12-04 13:04:03 +08:00
小白:大佬能教我调个东西么?
大佬:调什么? 小白:调个 JB |
29
yahz 2020-12-04 14:23:03 +08:00 1
-Xms2048m
-Xmx2048m -XX:ReservedCodeCacheSize=240m -XX:+UseG1GC -XX:MaxMetaspaceSize=2048m -XX:SoftRefLRUPolicyMSPerMB=50 -ea -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Djdk.attach.allowAttachSelf=true -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -XX:+UseCompressedOops -Dfile.encoding=UTF-8 -XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log -XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof -Dide.no.platform.update=true 15 款 MBP,堆内存一样大避免自动扩缩容,用 G1GC 就完了,其他没动 |
30
jalena 2020-12-04 16:09:42 +08:00
还是堆硬件实在,一劳永逸!
|