Skip to content

Instantly share code, notes, and snippets.

@luukverhoeven
Last active April 19, 2024 10:22
Show Gist options
  • Save luukverhoeven/bd48b92c9970e1a8db08ffc2b17e94d1 to your computer and use it in GitHub Desktop.
Save luukverhoeven/bd48b92c9970e1a8db08ffc2b17e94d1 to your computer and use it in GitHub Desktop.
My Phpstorm vmoptions + idea.properties
-ea
-server
-Xms512m
-Xmx2g
-XX:ParallelGCThreads=8
-XX:PermSize=350m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=240m
-XX:LargePageSizeInBytes=256m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:-OmitStackTraceInFastThrow
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops
-XX:+UseStringCache
-XX:+UseFastAccessorMethods
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Dawt.useSystemAAFontSettings=lcd
-Dawt.java2d.opengl=true
-Dsun.java2d.xrender=true
@luukverhoeven
Copy link
Author

MACOS 10.11.2020, 22:39:

-server
-Xms2g
-Xmx2g
-XX:NewSize=256m
-XX:MaxNewSize=256m
-XX:ReservedCodeCacheSize=256m
-XX:+UseParNewGC
-XX:ParallelGCThreads=8
-XX:MaxTenuringThreshold=1
-XX:SurvivorRatio=8
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:+CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=60
-XX:+CMSScavengeBeforeRemark
-XX:+UseCMSInitiatingOccupancyOnly
-XX:-TraceClassUnloading
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Dawt.useSystemAAFontSettings=on
-Dsun.java2d.opengl=true
-Dapple.awt.graphics.UseQuartz=true

@luukverhoeven
Copy link
Author

Tweaked for AMD ryzen MACOS 10.11.2020, 22:46

-server
-Xms2g
-Xmx4g
-XX:NewRatio=1
-XX:NewSize=512m
-XX:MaxNewSize=512m
-XX:ReservedCodeCacheSize=256m
-XX:+UseParNewGC
-XX:ParallelGCThreads=32
-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:-TraceClassUnloading
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Dawt.useSystemAAFontSettings=on
-Dsun.java2d.opengl=true
-Dapple.awt.graphics.UseQuartz=true
-Dawt.useSystemAAFontSettings=lcd
-Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine

@luukverhoeven
Copy link
Author

luukverhoeven commented Jan 24, 2021

Looks best working Ryzen Mac

-server
-Xms2048m
-Xmx4096m
-XX:NewRatio=1
-XX:NewSize=512m
-XX:MaxNewSize=512m
-XX:ReservedCodeCacheSize=2048m
-XX:+UseParNewGC
-XX:ParallelGCThreads=32
-XX:MaxTenuringThreshold=1
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Dawt.useSystemAAFontSettings=on
-Dsun.java2d.opengl=true
-Dapple.awt.graphics.UseQuartz=true
-Dawt.useSystemAAFontSettings=lcd
-Dsun.java2d.xrender=false
-Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
-Djava.net.preferIPv4Stack=true
-XX:+AggressiveOpts
-XX:ErrorFile=$USER_HOME/java_error_in_phpstorm_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_phpstorm.hprof

@luukverhoeven
Copy link
Author

Disable smooth scrolling

@luukverhoeven
Copy link
Author

luukverhoeven commented Jan 25, 2021

MacBook Pro - 25.01.2021, 22:35

-server
-Xms2g
-Xmx2g
-XX:NewSize=256m
-XX:MaxNewSize=256m
-XX:ReservedCodeCacheSize=256m
-XX:+UseParNewGC
-XX:ParallelGCThreads=8
-XX:MaxTenuringThreshold=1
-XX:SurvivorRatio=8
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:+CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=60
-XX:+CMSScavengeBeforeRemark
-XX:+UseCMSInitiatingOccupancyOnly
-XX:-TraceClassUnloading
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Dawt.useSystemAAFontSettings=on
-Dsun.java2d.opengl=true
-Dapple.awt.graphics.UseQuartz=true

@luukverhoeven
Copy link
Author

Macbook m1 2020 - original

-Xms128m
-Xmx2048m
-XX:ReservedCodeCacheSize=512m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off

-XX:ErrorFile=$USER_HOME/java_error_in_phpstorm_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_phpstorm.hprof
-XX:MaxMetaspaceSize=512m

@luukverhoeven
Copy link
Author

editor.zero.latency.typing=true
performance.watcher.unresponsive.interval.ms=0

@luukverhoeven
Copy link
Author

luukverhoeven commented Jun 29, 2021

-Xms1024m
-Xmx3072m
-Xss64m
-XX:ReservedCodeCacheSize=512m
-XX:+UseCompressedOops
-XX:NewRatio=2
-Dfile.encoding=UTF-8
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=250
-XX:NewSize=512m
-XX:MaxNewSize=512m
-XX:PermSize=512m
-XX:MaxPermSize=1024m
-XX:+UseParNewGC
-XX:ParallelGCThreads=8
-XX:MaxTenuringThreshold=1
-XX:SurvivorRatio=8
-XX:+UseCodeCacheFlushing
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:+CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=65
-XX:+CMSScavengeBeforeRemark
-XX:+UseCMSInitiatingOccupancyOnly
-XX:-TraceClassUnloading
-XX:+AlwaysPreTouch
-XX:+TieredCompilation
-XX:+DoEscapeAnalysis
-XX:+UnlockExperimentalVMOptions
-XX:LargePageSizeInBytes=256m
-XX:+DisableExplicitGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+PrintGCDetails
-XX:+PrintFlagsFinal
-XX:+HeapDumpOnOutOfMemoryError
-XX:+CMSPermGenSweepingEnabled
-XX:+UseAdaptiveGCBoundary
-XX:+UseSplitVerifier
-XX:CompileThreshold=10000
-XX:+UseCompressedStrings
-XX:+OptimizeStringConcat
-XX:+UseStringCache
-XX:+UseFastAccessorMethods
-XX:+UnlockDiagnosticVMOptions
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:-OmitStackTraceInFastThrow
-Xverify:none
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-Dhidpi=true
-Dsun.java2d.uiScale.enabled=false
-Dide.ui.scale=1.0
#--illegal-access=warn
#-Dsun.java2d.metal=true
-Dawt.useSystemAAFontSettings=lcd
-Dawt.java2d.opengl=true

# Only for people on Mac, it makes Java use an optimised graphics engine.
-Dapple.awt.graphics.UseQuartz=true

@luukverhoeven
Copy link
Author

Fix lag on external display

-Xms1024m
-Xmx2048m
-Xss64m
-XX:ReservedCodeCacheSize=512m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
#-Dawt.useSystemAAFontSettings=lcd
#-Dawt.java2d.opengl=true
#-Dsun.java2d.uiScale.enabled=false
#-Dide.ui.scale=1.0
--illegal-access=permit
-Dsun.java2d.metal=true
-Dsun.java2d.opengl=true
-Dsun.java2d.opengl.fbobject=false
-XX:ErrorFile=$USER_HOME/java_error_in_phpstorm_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_phpstorm.hprof
-XX:MaxMetaspaceSize=512m

@luukverhoeven
Copy link
Author

M1 - 8 core

-Xms1024m
-Xmx3048m
-Xss64m
# Enabled on 17.03.2022, 15:01
-Dawt.useSystemAAFontSettings=lcd
-Dawt.java2d.opengl=true
-Dsun.java2d.uiScale.enabled=false
-Dide.ui.scale=1.0
# End
--illegal-access=permit
-Dsun.java2d.metal=true
-Dsun.java2d.opengl=true
-Dsun.java2d.opengl.fbobject=false
-XX:MaxMetaspaceSize=1024m

@luukverhoeven
Copy link
Author

idea.properties

editor.zero.latency.typing=true
# Enabled on 17.03.2022, 14:55
performance.watcher.unresponsive.interval.ms=0
idea.max.intellisense.filesize=3500
idea.cycle.buffer.size=2048

@luukverhoeven
Copy link
Author

2023 m1

phpstorm.vmoptions

# Set the minimum heap size to 2 GB
-Xms2g

# Increase the maximum heap size to 4 GB
-Xmx4g

# Enable the JIT compiler
-XX:+UseCompressedOops

# Use the G1 garbage collector
#-XX:+UseG1GC

# Enable parallel garbage collection
-XX:+UseParallelGC

# Enable tiered compilation
-XX:+TieredCompilation

# Enable the CMS garbage collector
-XX:+UseConcMarkSweepGC

# Enable string deduplication
-XX:+UseStringDeduplication

# Enable compressed class pointers
-XX:+UseCompressedClassPointers

# Increase the stack size to 256 MB
-Xss256m

# Disable error tracking
-XX:-OmitStackTraceInFastThrow

idea.properties

editor.zero.latency.typing=true
# Enabled on 17.03.2022, 14:55
performance.watcher.unresponsive.interval.ms=0
#idea.max.intellisense.filesize=3500
#idea.cycle.buffer.size=2048
#idea.fatal.error.notification=disabled

@luukverhoeven
Copy link
Author

30.03.2024 - M1

phpstorm.vmoptions

# Enabled on 13.02.2024, 21:20
# Increase the maximum heap size to 12GB, given your ample RAM, for large projects
-Xmx12g

# Set the initial heap size to 6GB to give PhpStorm a strong start
-Xms6g

# Increase the Metaspace size for class metadata to handle more classes without frequent resizing
-XX:MetaspaceSize=1g

# Use the Garbage-First (G1) collector for better heap management
-XX:+UseG1GC
-XX:G1HeapRegionSize=16M
-XX:MaxGCPauseMillis=100
-XX:ParallelGCThreads=8
-XX:ConcGCThreads=2
-XX:InitiatingHeapOccupancyPercent=45

# Use performance counters for profiling
-XX:+UsePerfData

# Increase compiler threads to benefit from the M1 Max's higher core count
-XX:CICompilerCount=4

# Reduce JIT compilation delay
-DjvmCI.compilerIdleDelay=50

# Set the thread stack size to optimize memory use and performance
-Xss2m

# Enable/disable various features for optimization on M1
-Dsun.java2d.uiScale.enabled=false
-Dide.no.platform.update=true
-Dide.mac.file.chooser.native=true
-Dapple.awt.application.name=PhpStorm

idea.properties

#editor.zero.latency.typing=true
#performance.watcher.unresponsive.interval.ms=0
#idea.max.intellisense.filesize=3500
idea.fatal.error.notification=disabled

# Enabled on 13.02.2024, 21:20
idea.cycle.buffer.size=2048

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