极致优化 IDEA 启动速度(本文内容过于硬核)
作 者:极客挖掘机
原文链接:
文章插图
本文内容过于硬核 , 建议有 Java 相关经验人士阅读 。
1. 引言相信做 Java 开发的同学 , 对 IDEA 这个工具应该都不陌生 , 即使不使用 IDEA 做开发 , 那么对 Eclipse 这个工具应该也不会陌生 , 如果这两个都不用的同学 , 我就想弱弱问一句 , 您不会是在使用记事本吧?
文章插图
上面除了那个记事本 , 我相信所有的同学都对 IDEA 或者说 Eclipse 这两个工具的打开速度深有印象吧 。
只要你没自己改过启动参数 , 不管电脑多高的配置 , 我相信这个打开速度应该都快不到哪去 。
前面写了这么多篇的 JVM 相关内容 , 今天我尝试优化一下 IDEA 的启动速度(手头没有 Eclipse ) , 这算是小试牛刀 , 希望最后不要翻车 。
文章插图
2. 开始我使用的是 JDK 自带的 VisualVM 可视化工具 , 主要使用的是它的那个 GC 插件 。
文章插图
首先第一次打开 IDEA, 加载时长按照 IDEA 所有组件加载完成进行人工卡点(本来想找个插件的 , 结果 IDEA 这方面的插件还真没找到) 。
IDEA 在打开的过程中 , 右下角会有一个进度条在一直读条 , 我就大约等那个条读完了进行计时 。
后续操作的过程中发现其实完全没必要 , 因为差距简直太明显了 。
首先在默认配置的情况下第一次打开 IDEA, 然后看下 VisualVM 的数据图:
GC 情况:
文章插图
概览情况:
文章插图
我直接被这个 Class Loader 加载速度惊呆了 , 活活消耗了 3m 34s 的时间 , 由于其他操作都是并行的 , 这一项的耗时直接撑破天了 。
不过同时可以看到 GC 的消耗 , 好像并不是很大 ,Minor GC 发生了 147 次 , 但是 Full GC 一次都没有发生过 , 共计耗时 712ms。
但是看到下面的概览图还是能发现一些端倪的 , 就比如当前堆大小在一直不停的扩容 。
先找到 IDEA 的配置文件 , 看下默认配置 , 我本地的路径是 D:\Program Files\JetBrains\apps\IDEA-U\ch-0, 这个路径每个人都不一样 , 大家自己找自己的 , 找到以后打开 idea64.exe.vmoptions 这个文件:
-Xms128m-Xmx750m-XX:ReservedCodeCacheSize=240m-XX:+UseConcMarkSweepGC-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
可以看到最小堆是设置 128MB, 而最大堆是 750MB, 使用的是 CMS 收集器 , 我使用的电脑硬件内存是 16GB, 这么大的内存空间 , 果断直接把最小堆改成 1G, 最大堆改成 2G, 关掉 IDEA 再重启看下效果 。
修改后的配置如下:
-Xms1g-Xmx2g-XX:ReservedCodeCacheSize=240m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50
GC 情况:
文章插图
- 视网膜优化?索尼具认知能力电视芯片XR来了
- 联想IdeaPad 5 Pro系列笔记本发布 可选两种处理器和两种尺寸
- 联想推出搭载骁龙处理器的IdeaPad 5G
- 微软官方数据恢复工具即将更新:更易于上手 优化恢复性能
- ?什么叫专业?海信Hard Plus电竞显示屏打造极致游戏体验
- 友盟+智能超链U-Link,助力开发者拥有更极致的分享体验
- vivo X60发布:性能优化 8GB内存可当11GB用
- 英特尔提交初版Linux内核补丁 优化AVX-512指令集
- 网站优化排名如何考虑关键词和内容的转换?
- 7.9mm还有极致性能?这个超大杯有点不一样