Skip to content

Instantly share code, notes, and snippets.

@P7h
Last active October 16, 2025 02:52
Show Gist options
  • Select an option

  • Save P7h/4388881 to your computer and use it in GitHub Desktop.

Select an option

Save P7h/4388881 to your computer and use it in GitHub Desktop.
Performance tuning parameters for IntelliJ IDEA. Add these params in idea64.exe.vmoptions or idea.exe.vmoptions file in IntelliJ IDEA. If you are using JDK 8.x, please knock off PermSize and MaxPermSize parameters from the tuning configuration.
-server
-Xms2048m
-Xmx2048m
-XX:NewSize=512m
-XX:MaxNewSize=512m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-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
@inthegarage

Copy link
Copy Markdown

Intellij 2017.3 will moan about the code cache size, it should be around:
-XX:ReservedCodeCacheSize=256m

or remove the setting altogether.

@aridastidar

aridastidar commented Mar 19, 2019

Copy link
Copy Markdown

-XX:ReservedCodeCacheSize=64m threw a warning on MacOS HighSierra. Considering increasing to 240m or more.

@reloxx13

reloxx13 commented Aug 2, 2019

Copy link
Copy Markdown

Pay attention, alot of those options are deprecated and will lead in not starting the application.

Unix Debian with Phpstorm from snap

I had to do this:

Remove

-XX:+UseParNewGC
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
 
Replace
-XX:-TraceClassUnloading -Xlog:class+unload=off

This is my current file for PHPStorm:
~/.PhpStorm2019.2/config/phpstorm64.vmoptions

-server
-Xms1g
-Xmx4g
-XX:NewSize=512m
-XX:MaxNewSize=1g
-XX:ParallelGCThreads=4
-XX:MaxTenuringThreshold=1
-XX:SurvivorRatio=8
-XX:+UseCodeCacheFlushing
-XX:+CMSClassUnloadingEnabled
-XX:+CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=65
-XX:+CMSScavengeBeforeRemark
-XX:+UseCMSInitiatingOccupancyOnly
-XX:ReservedCodeCacheSize=256m
-Xlog:class+unload=off
-ea
-Dsun.io.useCanonCaches=false

@jueti

jueti commented Aug 28, 2019

Copy link
Copy Markdown

thanks reloxx13
it works on Pycharm 2019.2.1 windows

@anuxraw

anuxraw commented Oct 12, 2019

Copy link
Copy Markdown

Thanks Dude ✌️

@armarti

armarti commented Oct 28, 2019

Copy link
Copy Markdown

reloxx's config is good. also add editor.zero.latency.typing=true in idea.properties (Help > Edit Custom Properties).

@iuriimattos

iuriimattos commented Nov 16, 2019

Copy link
Copy Markdown

Thanks reloxx13

This is my current file for PHPStorm (PhpStorm2019.1) (Windows):

-server
-Xss256k
-Xms1536m
-Xmx1536m
-Xmn512m

-XX:MetaspaceSize=350m
-XX:MaxMetaspaceSize=350m
-XX:SurvivorRatio=8
-XX:CMSFullGCsBeforeCompaction=0
-XX:ReservedCodeCacheSize=240m
-XX:MaxNewSize=1000m
-XX:NewSize=512m
-XX:ParallelGCThreads=4
-XX:MaxTenuringThreshold=1
-XX:CMSInitiatingOccupancyFraction=65

-XX:+CMSScavengeBeforeRemark
-XX:+CMSPermGenSweepingEnabled
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseCMSCompactAtFullCollection
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseCodeCacheFlushing
-XX:-TraceClassUnloading
-XX:+CMSClassUnloadingEnabled
-XX:+CMSParallelRemarkEnabled

-ea
-Dsun.io.useCanonCaches=false

@alfabravoteam

Copy link
Copy Markdown

All settings here are still using CMS GC. Anyone trying G1GC options instead?

@indiff

indiff commented Jan 20, 2021

Copy link
Copy Markdown

-server
-XX:MetaspaceSize=128M
-XX:MaxMetaspaceSize=512M
-XX:+AlwaysPreTouch
-Xms128m
-Xmx512M
-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
-Duser.name=tshit11

@iuriimattos

Copy link
Copy Markdown

-server
-XX:MetaspaceSize=128M
-XX:MaxMetaspaceSize=512M
-XX:+AlwaysPreTouch
-Xms128m
-Xmx512M
-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
-Duser.name=tshit11

Thanks for share! Recommend adding for solve UI issues

-Dhidpi=true
-Dsun.java2d.uiScale.enabled=false
-Dide.ui.scale=1.0

@0x-2a

0x-2a commented Jul 7, 2021

Copy link
Copy Markdown

@indiff there's a username in those options

@reloxx13

reloxx13 commented Sep 5, 2023

Copy link
Copy Markdown

A merged from @indiff, @iuriimattos and with JetBrains PhpStorm 2023.2.1RC from a fresh win11 installation default options and some old stuff, I use it in host and client (wsl2) vmoptions.

-Dawt.java2d.opengl=true
-Dawt.lock.fair=true
-Dawt.useSystemAAFontSettings=lcd
-Dfile.encoding=UTF-8
-Dhidpi=true
-Dide.ui.scale=1.0
-Djava.net.preferIPv4Stack=true
-Djbr.catch.SIGABRT=true
-Djdk.attach.allowAttachSelf=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.module.illegalAccess.silent=true
-Djsse.enablesSNIExtension=false
-Dkotlinx.coroutines.debug=off
-Dsun.awt.keepWorkingSetOnMinimize=true
-Dsun.io.useCanonCaches=false
-Dsun.java2d.metal=true
-Dsun.java2d.uiScale.enabled=false
-Dsun.tools.attach.tmp.only=true

-XX:+AlwaysPreTouch
-XX:+CMSClassUnloadingEnabled
-XX:+CMSParallelRemarkEnabled
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSScavengeBeforeRemark
-XX:+HeapDumpOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError
-XX:+IgnoreUnrecognizedVMOptions
-XX:+TieredCompilation
-XX:+UseCMSCompactAtFullCollection
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:+UseG1GC
-XX:+UseStringDeduplication
-XX:-OmitStackTraceInFastThrow
-XX:-TraceClassUnloading
-XX:AutoBoxCacheMax=20000
-XX:CICompilerCount=2
-XX:CMSFullGCsBeforeCompaction=0
-XX:CMSInitiatingOccupancyFraction=65
-XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend
-XX:ConcGCThreads=4
-XX:MaxMetaspaceSize=512m
-XX:MaxNewSize=1g
-XX:MaxTenuringThreshold=1
-XX:MetaspaceSize=512m
-XX:NewRatio=1
-XX:NewSize=512m
-XX:ParallelGCThreads=4
-XX:ReservedCodeCacheSize=512m
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:SurvivorRatio=8

-Xms1g
-Xmx4g

-ea

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment