
目的当然是使撸代码时更顺滑.
但从网上搜罗的大多数文章都只简单提到内存大小的配置, 一直没找到有系统介绍各项参数的.
另附:我正在使用的配置文件(综合了各家,本人不懂 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 PRO 加一条内存就好了 |
2 OysterQAQ Dec 3, 2020 你都说你不懂 JVM 了为什么还搞呢 就调下堆内存吧 |
4 kingfalse Dec 3, 2020 via Android 表示什么都没调,全部是默认的,配置 mbp 2018 i7 16 512 |
5 neoblackcap Dec 3, 2020 事实证明,JVM 堆栈配 10G,上 SSD 硬盘,很快。 |
6 cubecube Dec 3, 2020 贴一份我自用的吧,供各位大佬批判 -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 summertimesad Dec 4, 2020 via Android 64g 的 mbp 表示毫无鸭梨 |
8 sagaxu Dec 4, 2020 via Android 你这是负优化 |
9 limuyan44 Dec 4, 2020 只会调个 Xms Xmx,怎么优化也不如插根内存条实在,真有明显的优化官方早就默认了。 |
10 chendy Dec 4, 2020 因为不如 jb 更了解自己的产品特性,所以调整一下 Xms 和 Xmx 就差不多了 |
11 Finest Dec 4, 2020 via Android 关键是大内存+ssd |
12 w292614191 Dec 4, 2020 也不知道从哪个 CSDN 复制的。 强行优化。 |
13 w292614191 Dec 4, 2020 |
14 yalin Dec 4, 2020 没操心过这事 |
15 szq8014 Dec 4, 2020 如果有,那 jb 出厂的时候肯定已经调得差不多了,就调个 xms xmx 就可以了 |
16 cheng6563 Dec 4, 2020 换 OpenJ9 的 JVM,内存使用能少一大截。 |
17 cco Dec 4, 2020 默认足矣,最好是硬件上提升。 |
18 riggzh Dec 4, 2020 via iPhone 64G 内存 我直接给了 32 |
19 LieNoWell Dec 4, 2020 有跟我一样的么, 等它提示哪哪不够了然后在弹出的框框里面把值改大~~~ |
20 lyz1990 Dec 4, 2020 默认没觉得有什么问题 |
21 FantaMole Dec 4, 2020 调半天不如在双十二的时候去京东买条什么酷兽,玖合那种 399 的 32G 内存,反正售后京东兜底。狠一点的,直接 4 个槽插满,上到 128G,5 年都不用考虑调优了 |
22 someonedeng Dec 4, 2020 之前一直用 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 PRO 我 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 Dec 4, 2020 网上 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 Dec 4, 2020 “撸代码时更顺滑” 是指? 你没 benchmark 你怎么调优? |
26 joysir Dec 4, 2020 MacOS BigSur 下 IDEA 升级到最新版的话会发现窗口被放大了,可以使用以下参数回到原来的缩放级别: -Dsun.java2d.uiScale.enable=true -Dide.ui.scale=1 |
27 graffitist Dec 4, 2020 有一点我不懂,撸代码的时候为什么要调 JVM ?强行优化? |
28 youla Dec 4, 2020 小白:大佬能教我调个东西么? 大佬:调什么? 小白:调个 JB |
29 div class="sep3"> yahz Dec 4, 2020 -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 Dec 4, 2020 还是堆硬件实在,一劳永逸! |