【MedusaSTears】解决IDE卡顿,编写.vmoptions启动加速;Eclipse启动加速:JVM调优--让你的IDE如丝般顺滑~增加Android Studio配置

目录

idea64.exe.vmoptions文件内容如下

(请自己对照你自己的编写,别直接粘贴我的,否则后果自负)

eclipse.ini文件内容如下

(请自己对照你自己的编写,别直接粘贴我的,否则后果自负)


具体我也解释不清楚,反正就是参考了不下四五十个帖子总结出来的

最开始是用在我的Eclipse上

自从转战idea发现启动是真的卡的要死

于是就把eclipse.ini贴到idea64.exe.vmoptions这里,挨个测试最后留下的以下内容

studio64.exe.vmoptions文件内容如下

(请自己对照你自己的编写,别直接粘贴我的,否则后果自负)

#初始总堆Xms=最大总堆Xmx 内存减少性能损耗,一般设置为物理内存的1/4(含有新生代和年老代)
-Xms1024m
-Xmx8192m
 
#新生代堆内存,官方推荐为整个堆的3/8,对象刚创建出来时放在这里(小内存168m)
-Xmn256m
 
#每个线程的堆栈大小
-Xss2m
 
-XX:ReservedCodeCacheSize=512m
-XX:SoftRefLRUPolicyMSPerMB=50
#最大的并行编译数
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
#使JVM静默忽略无法识别的选项
-XX:+IgnoreUnrecognizedVMOptions
#将com.intellij.openapi.vfs.impl.FilePartNodeRoot类中的trieDescend方法从编译列表中排除
-XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend
-ea
#当设置为true时,指示JVM在可能的情况下优先使用IPv4栈
-Djava.net.preferIPv4Stack=true
#设置为false时,JVM在解析文件路径时不会使用缓存来存储规范路径
-Dsun.io.useCanonCaches=false
#指定图形界面风格:设置为true时,指示JVM使用Java 2D的Metal图形用户界面(GUI)外观。
-Dsun.java2d.metal=true
#控制SIGABRT信号的处理:设置为true时,JVM会捕获并处理SIGABRT信号,而不是默认行为(如生成崩溃日志并终止)
-Djbr.catch.SIGABRT=true
#禁用HTTP隧道认证中的特定方案
-Djdk.http.auth.tunneling.disabledSchemes=""
#允许JVM进程自身被附加(attach),便于调试和监控
-Djdk.attach.allowAttachSelf=true
#允许模块系统在不发出警告的情况下进行非法反射访问
-Djdk.module.illegalAccess.silent=true
#在Kotlin中,在JVM启动时关闭协程的调试模式。此操作主要用于生产环境,以避免性能损耗和不必要的日志输出。
-Dkotlinx.coroutines.debug=off
#禁止JNA库访问系统属性,增强应用的安全性。可能会影响依赖系统属性的JNA功能
-Djna.nosys=true
#Java虚拟机(JVM)启动时,指JNA库的加载路径
-Djna.boot.library.path=
#JVM启动时,指IDEA的供应商名称
-Didea.vendor.name=Google
 
#关闭字节码验证=不安全
-Xverify:none
 
#初始新生代大小,最大新生代大小
-XX:NewSize=800m
-XX:MaxNewSize=800m
-XX:PermSize=256m
-XX:MaxPermSize=256m
 
# 配置GC:
#-XX:+UseConcMarkSweepGC      #idea默认的GC
#使用G1垃圾回收器,并启动字符串去重机制特性,GC只能指定一个,以下的屏蔽掉,只用UseG1GC
-XX:+UseG1GC
-XX:+UseStringDeduplication
# 设置并行收集器+设置并行年老代收集器+设置并发收集器
#-XX:+UseParallelGC
#-XX:+UseParalledlOldGC       #【这个无法在IDEA里启动】
#-XX:+UseConcMarkSweepGC
# https://zhuanlan.zhihu.com/p/88956975?from=groupmessage 暂时屏蔽 GC overhead limit exceeded 的问题
#-XX:-UseGCOverheadLimit
#【这个无法在IDEA里启动】缩短minor收集的时间 可用来设置并行收集【多CPU】
#-XX:+UseParNewGC
 
#关闭System.gc()
-XX:+DisableExplicitGC
 
#加快编译
-XX:+AggressiveOpts
 
#拖慢启动速度,但运行之后性能较高
-XX:CompileThreshold=100
 
#使用cms作为垃圾回收,使用70%后开始CMS收集
-XX:CMSInitiatingOccupancyFraction=80
 
#修改文本等默认字符集为utf-8
-Dfile.encoding=UTF-8
#修改控制台默认字符集
-Dconsole.encoding=UTF-8
#破解文件 同级目录前缀为 ..\..\bin  如果individual and restart之后就要写绝对路径
#-javaagent:..\..\bin\JetbrainsCrack.jar
#-javaagent:D:\dev-tools\idea\IDEA-2019.3\bin\jetbrains-agent-v3.0.0.jar=offline

idea64.exe.vmoptions文件内容如下

(请自己对照你自己的编写,别直接粘贴我的,否则后果自负)

文件地址:     idea\bin\idea64.exe.vmoptions

2024-09-05更新:

#初始总堆Xms=最大总堆Xmx 内存减少性能损耗,一般设置为物理内存的1/4(含有新生代和年老代)
-Xms1024m
-Xmx8192m

#新生代堆内存,官方推荐为整个堆的3/8,对象刚创建出来时放在这里(小内存168m)
-Xmn256m

#每个线程的堆栈大小
-Xss2m

-XX:ReservedCodeCacheSize=512m
-XX:SoftRefLRUPolicyMSPerMB=50
#最大的并行编译数
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
#使JVM静默忽略无法识别的选项
-XX:+IgnoreUnrecognizedVMOptions
#将com.intellij.openapi.vfs.impl.FilePartNodeRoot类中的trieDescend方法从编译列表中排除
-XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend
-ea
#当设置为false时,‌JVM在解析URI时不会使用缓存来存储规范前缀
-Dsun.io.useCanonPrefixCache=false
#当设置为true时,‌指示JVM在可能的情况下优先使用IPv4栈
-Djava.net.preferIPv4Stack=true
#设置为false时,‌JVM在解析文件路径时不会使用缓存来存储规范路径
-Dsun.io.useCanonCaches=false
#‌指定图形界面风格‌:设置为true时,‌指示JVM使用Java 2D的Metal图形用户界面(‌GUI)‌外观。‌
-Dsun.java2d.metal=true
#控制SIGABRT信号的处理‌:设置为true时,‌JVM会捕获并处理SIGABRT信号,‌而不是默认行为(‌如生成崩溃日志并终止)‌
-Djbr.catch.SIGABRT=true
#禁用HTTP隧道认证中的特定方案
-Djdk.http.auth.tunneling.disabledSchemes=""
#允许JVM进程自身被附加(‌attach)‌,‌便于调试和监控
-Djdk.attach.allowAttachSelf=true
#允许模块系统在不发出警告的情况下进行非法反射访问
-Djdk.module.illegalAccess.silent=true
#在Kotlin中,‌在JVM启动时关闭协程的调试模式。‌此操作主要用于生产环境,‌以避免性能损耗和不必要的日志输出。‌
-Dkotlinx.coroutines.debug=off
#禁止JNA库访问系统属性,‌增强应用的安全性。‌可能会影响依赖系统属性的JNA功能
#-Djna.nosys=true
#Java虚拟机(‌JVM)‌启动时,‌指‌JNA库的加载路径‌
#-Djna.boot.library.path=
#JVM启动时,‌指‌IDEA的供应商名称
#-Didea.vendor.name=Google

#关闭字节码验证=不安全
-Xverify:none

#初始新生代大小,最大新生代大小
-XX:NewSize=800m
-XX:MaxNewSize=800m
-XX:PermSize=256m
-XX:MaxPermSize=256m

# 配置GC:
#-XX:+UseConcMarkSweepGC      #idea默认的GC
#使用G1垃圾回收器,并启动字符串去重机制特性,GC只能指定一个,以下的屏蔽掉,只用UseG1GC
-XX:+UseG1GC
-XX:+UseStringDeduplication
# 设置并行收集器+设置并行年老代收集器+设置并发收集器
#-XX:+UseParallelGC
#-XX:+UseParalledlOldGC       #【这个无法在IDEA里启动】
#-XX:+UseConcMarkSweepGC
# https://zhuanlan.zhihu.com/p/88956975?from=groupmessage 暂时屏蔽 GC overhead limit exceeded 的问题
#-XX:-UseGCOverheadLimit
#【这个无法在IDEA里启动】缩短minor收集的时间 可用来设置并行收集【多CPU】
#-XX:+UseParNewGC

#关闭System.gc()
-XX:+DisableExplicitGC

#加快编译
-XX:+AggressiveOpts

#拖慢启动速度,但运行之后性能较高
-XX:CompileThreshold=100

#使用cms作为垃圾回收,使用70%后开始CMS收集
-XX:CMSInitiatingOccupancyFraction=80

#修改文本等默认字符集为utf-8
-Dfile.encoding=UTF-8
#修改控制台默认字符集
-Dconsole.encoding=UTF-8
#破解文件 同级目录前缀为 ..\..\bin  如果individual and restart之后就要写绝对路径
#-javaagent:..\..\bin\JetbrainsCrack.jar
-javaagent:D:\dev-tools\idea\IDEA-2019.3\bin\jetbrains-agent-v3.0.0.jar=offline

旧版本:

#新生代堆内存,官方推荐为整个堆的3/8,对象刚创建出来时放在这里(小内存168m)
-Xmn256m

#初始总堆Xms=最大总堆Xmx 内存减少性能损耗,一般设置为物理内存的1/4(含有新生代和年老代)
-Xms1600m
-Xmx1600m

#每个线程的堆栈大小
-Xss2m

-XX:ReservedCodeCacheSize=240m
-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
-Dkotlinx.coroutines.debug=off

#初始新生代大小,最大新生代大小
-XX:NewSize=800m
-XX:MaxNewSize=800m
-XX:PermSize=256m
-XX:MaxPermSize=256m

# 配置GC:
#-XX:+UseConcMarkSweepGC      #idea默认的GC
#使用G1垃圾回收器,并启动字符串去重机制特性,GC只能指定一个,以下的屏蔽掉,只用UseG1GC
-XX:+UseG1GC
-XX:+UseStringDeduplication
# 设置并行收集器+设置并行年老代收集器+设置并发收集器
#-XX:+UseParallelGC
#-XX:+UseParalledlOldGC       #这个无法在IDEA里启动
#-XX:+UseConcMarkSweepGC

#缩短minor收集的时间 可用来设置并行收集【多CPU】
#-XX:+UseParNewGC             #这个无法在IDEA里启动

#关闭System.gc()
-XX:+DisableExplicitGC

#加快编译
-XX:+AggressiveOpts

#拖慢启动速度,但运行之后性能较高
-XX:CompileThreshold=100

#使用cms作为垃圾回收,使用70%后开始CMS收集
-XX:CMSInitiatingOccupancyFraction=80

#关闭字节码验证=不安全
#-Xverify:none

eclipse.ini文件内容如下

(请自己对照你自己的编写,别直接粘贴我的,否则后果自负)

-startup
plugins/org.eclipse.equinox.launcher_1.5.100.v20180827-1352.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.800.v20180827-1352
-product
#我发现这个参数决定了菜单栏eclipse图标是啥样
org.eclipse.epp.package.jee.product
#指定jdk/jre/bin文件夹可以提高速度,但是一旦目录错误将无法启动
#-vm
#C:\Program Files\Java\jdk1.8.0_192\bin
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-Dosgi.dataAreaRequiresExplicitInit=true
#新生代堆内存,官方推荐为整个堆的3/8,对象刚创建出来时放在这里(小内存168m)
-Xmn256m
#初始总堆Xms=最大总堆Xmx 内存减少性能损耗,一般设置为物理内存的1/4(含有新生代和年老代)
-Xms1600m
-Xmx1600m
#每个线程的堆栈大小
-Xss2m
#初始新生代大小,最大新生代大小
-XX:NewSize=800m
-XX:MaxNewSize=800m
#初始持久代大小,最大持久代大小(小内存128m)
-XX:PermSize=256m
-XX:MaxPermSize=256m
#使用G1垃圾回收器,并启动字符串去重机制特性,GC只能指定一个,以下的屏蔽掉,只用UseG1GC
-XX:+UseG1GC
-XX:+UseStringDeduplication
#缩短minor收集的时间 可用来设置并行收集【多CPU】
#-XX:+UseParNewGC
# 设置并行收集器+设置并行年老代收集器+设置并发收集器
#-XX:+UseParallelGC
-XX:+UseParalledlOldGC
#-XX:+UseConcMarkSweepGC
#关闭System.gc()
-XX:+DisableExplicitGC
#加快编译
-XX:+AggressiveOpts
#拖慢启动速度,但运行之后性能较高
-XX:CompileThreshold=100
#使用cms作为垃圾回收,使用70%后开始CMS收集
-XX:CMSInitiatingOccupancyFraction=80
#关闭字节码验证=不安全
#-Xverify:none
#解决eclipse在jdk9环境启动失败
--add-modules=ALL-SYSTEM
#修改文本等默认字符集为utf-8
-Dfile.encoding=utf-8
#这个可写可不写
#-Xbootclasspath/a:lombok.jar
#这个必须写
-javaagent:lombok.jar

All By MedusaSTears

2019.11.19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值