IDEA启动项目慢问题处理
- 一、问题现象
- 二、问题排查
-
- 排查点1:idea内存
- 排查点2:应用内存
- [排查点3:shorten command line](#排查点3:shorten command line)
-
- [classpath file](#classpath file)
- [jar manifest](#jar manifest)
- 排查点4:jstack排查
- 三、问题定位
一、问题现象
多模块工程,启动模块为springboot项目,启动耗时半小时以上,其他同事启动时长在3分钟内。
二、问题排查
排查点1:idea内存
idea.vmoptions文件配置的idea最大堆内存-Xmx,同事为1024m,我的2048m,排除此原因。
排查点2:应用内存
启动类添加虚拟机参数-Xmx4096m,或更大值,不起作用。
排查点3:shorten command line
和同事对比此配置存在差异,整理了其作用如下:
classpath file
直接设置jvm类路径参数classpath,指明启动时到maven仓库加载依赖的jar包,同时将idea编译输出目录target/class也添加到classpath中。
jar manifest
在temp目录生成一个临时的jar文件,文件中指明启动类和classpath。
由于其作用就是指定启动类和类路径,该设置不影响启动时长。
排查点4:jstack排查
jstack输出线程栈信息,卡在createBean和创建数据库连接上,无太多帮助。
三、问题定位
以上全部排除后,在对比Idea配置差异时,发现我的idea有多个失效断点和条件断点,但这些断点都未生效,没有导致启动过程中程序暂停。类似下图。
随便试一试去掉断点,启动速度马上恢复正常。