Performance 使用Maven和IntelliJ IDEA处理大型项目的技巧
我正在阅读一篇关于团队使用Intellij Idea进行大型maven项目的经验的博客文章,并且还查看了大约两年前Idea v.10.0.2发布的一个问题 前一篇文章中提到的一个技巧非常有意义:Performance 使用Maven和IntelliJ IDEA处理大型项目的技巧,performance,maven,configuration,ide,intellij-idea,Performance,Maven,Configuration,Ide,Intellij Idea,我正在阅读一篇关于团队使用Intellij Idea进行大型maven项目的经验的博客文章,并且还查看了大约两年前Idea v.10.0.2发布的一个问题 前一篇文章中提到的一个技巧非常有意义: 将C:\Users\$user\.IntelliJIdea12移动到防病毒扫描的非访问文件夹中 我已经搜索了以性能为中心的VM选项,目前我的idea64.exe.vmoptions如下所示: -Xms1200m -Xmx1200m -XX:MaxPermSize=200m -ea -server -XX
将
C:\Users\$user\.IntelliJIdea12
移动到防病毒扫描的非访问文件夹中
我已经搜索了以性能为中心的VM选项,目前我的idea64.exe.vmoptions
如下所示:
-Xms1200m
-Xmx1200m
-XX:MaxPermSize=200m
-ea
-server
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseParallelGC
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-Dsun.io.useCanonCaches=false
问题
idea64.exe.vmoptions
和/或IDEA.properties
中分享您在w.r.t虚拟机选项中的发现吗根据@CrazyCoder的建议,我遵循了有关此问题的官方常见问题解答中的步骤: 具体而言,以下因素似乎产生了明显的影响:
c:/Users/$user/.IntelliJIdea12
移动到McAfee的on access扫描仪排除的位置,并更新$INTELLJ_INSTALL_文件夹/bin/idea.properties
以指向新位置(其中c:/dev
是McAfee排除的文件夹):
idea.config.path=c:/dev/.IntelliJIdea12/configidea.system.path=c:/dev/.IntelliJIdea12/system
idea.plugins.path=c:/dev/.IntelliJIdea12/config/plugins
idea.log.path=c:/dev/.IntelliJIdea12/system/log
$INTELLJ_INSTALL_FOLDER/bin/idea.properties
setidea.jars.nocopy=true
中,如博客文章所述$INTELLIJ_INSTALL_文件夹/bin/idea64.exe.vmoptions
。剩下的唯一更改是中为64位JVM建议的更改。以下是我目前在该文件中的内容:
-Xms1200m-Xmx1200m
-XX:+UseCompressedOops
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=96m
-XX:+UseCodeCache刷新
-ea
-Dsun.io.useConcaches=false
-Djava.net.preferIPv4Stack=true
.IntelliJIdea12/idea.log
非常有用。
例如:我禁用了osmorc(用于OSGI)插件,因为我看到它在尝试打开项目中的zip文件时经常出现日志错误。示例错误:
WARN-pi.vfs.impl.jar.JarHandlerBase-打开zip文件时出错:
C:\dev\a-maven-project\pom.xml java.util.zip.ZipException:中的错误
打开zip文件
在java.util.zip.ZipFile.open(本机方法)位于java.util.zip.ZipFile。(ZipFile.java:127)
位于java.util.zip.ZipFile(ZipFile.java:143)
有时,大型项目的内存可能会耗尽。大型maven项目的导入过程失败。
因此,如果您的项目中的任何模块用红线划线,您会看到
Exception java.lang.OutOfMemoryError: GC overhead limit exceeded
在上面,转到“设置->构建工具->Maven->导入”,并在那里找到“导入器的VM选项”选项。增加限制,将其设置为-Xmx1g
(或更多)
IntelliJ IDEA 2017.2,在处理大型项目时非常有用。基本上,您可以标记哪些模块将按IDEA加载,哪些不加载。IDE不会以任何方式接触卸载的模块。它们不会被索引、搜索,也不会在检查时进行重构。可以在“加载/卸载模块”对话框中快速配置加载/卸载模块。可以使用打开该对话框
项目树窗口→ 右键单击文件→ 加载/卸载模块
暂时减少IDEA使用的模块数量将大大提高大型项目的性能。您可以在我写的一篇博文中找到有关IntelliJ IDEA的此功能和其他性能调整的更多信息:
你喜欢吗