Table of contents
  1. References
  2. ORIGINAL idea.vmoptions
  3. Memory
    1. Set Symbolic link for storing caches in memory
  4. Working Examples I Have Used
    1. Set JVM args in build.gradle bootRun{}
      1. set remote connection




References

ORIGINAL idea.vmoptions

-Xms128m=
-Xmx750m=
-XX=ReservedCodeCacheSize=240m
-XX=+UseConcMarkSweepGC
-XX=SoftRefLRUPolicyMSPerMB=50
-ea=
-XX=CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX=+HeapDumpOnOutOfMemoryError
-XX=-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true

UPDATED From Tuning Article

-Xms15g=
-XX=ReservedCodeCacheSize=2g
-XX=+UseCompressedOops
-XX=+UseG1GC
-XX=MaxGCPauseMillis=100
-XX=+PerfDisableSharedMem
-XX=SoftRefLRUPolicyMSPerMB=50
-ea=
-XX=CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX=+HeapDumpOnOutOfMemoryError
-XX=-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true

Memory

mklink /D "R:\Temp\intellij\caches" "C:\Users\bpaxton\.IntelliJIdea2019.3\system\caches"
mklink /D "R:\Temp\intellij\index" "C:\Users\bpaxton\.IntelliJIdea2019.3\system\index"

Working Examples I Have Used

  # custom IntelliJ IDEA VM options (expand/override 'bin/idea.vmoptions')
-ea=
-server=
-Xms6g=
-Xmx6g=
-Xss16m=
-XX=MaxMetaspaceSize=2G
-XX=MetaspaceSize=512m
-XX=ConcGCThreads=6
-XX=ParallelGCThreads=6
-XX=NewRatio=3
-XX=ReservedCodeCacheSize=2g
-XX=+AlwaysPreTouch
-XX=+UseConcMarkSweepGC
-XX=+TieredCompilation
-Djava.net.preferIPv4Stack=true
-XX=+UseCodeCacheFlushing
-XX=+DisableExplicitGC
-XX=+ExplicitGCInvokesConcurrent
-XX=+AggressiveOpts
-XX=+CMSClassUnloadingEnabled
-XX=CMSInitiatingOccupancyFraction=60
-XX=+CMSParallelRemarkEnabled
-XX=+UseAdaptiveGCBoundary
-XX=+OptimizeStringConcat
-XX=+UseStringCache
-XX=+UseFastAccessorMethods
-XX=+UseCompressedOops
-XX=-OmitStackTraceInFastThrow

or

-server=
-Xms8g=
-Xmx8g=
-XX=ReservedCodeCacheSize=2g
-XX=NewRatio=3
-XX=CICompilerCount=6
-Xss16m=
-XX=+UseConcMarkSweepGC
-XX=+CMSParallelRemarkEnabled
-XX=ConcGCThreads=4
-XX=+AlwaysPreTouch
-XX=+TieredCompilation
-XX=+UseCompressedOops
-XX=SoftRefLRUPolicyMSPerMB=50
-Djava.net.preferIPv4Stack=true
-ea=
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX=+HeapDumpOnOutOfMemoryError
-XX=-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Dide.no.platform.update=true
-Dsun.io.useCanonCaches=false
-XX=ReservedCodeCacheSize=512m
-Didea.plugins.path=C:\\Users\\bpaxton\\AppData\\Local\\JetBrains\\Toolbox\\apps\\IDEA-U\\ch-0\\203.6682.168.plugins

Set JVM args in build.gradle bootRun{}

jvmArgs = ["-server",
           "-XX:ReservedCodeCacheSize=2g",
           "-XX:NewRatio=3",
           "-XX:ActiveProcessorCount=12",
           "-Xss16m",
           "-XX:+UseConcMarkSweepGC",
           "-XX:+CMSParallelRemarkEnabled",
           "-XX:ConcGCThreads=4",
           "-XX:+AlwaysPreTouch",
           "-XX:+TieredCompilation",
           "-XX:+UseCompressedOops", "-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005", "-Xmx8g"]

set remote connection

Picture1