首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加速IntelliJ

加速IntelliJ
EN

Stack Overflow用户
提问于 2011-04-13 15:14:31
回答 12查看 68K关注 0票数 96

我正在使用intelliJ进行Scala开发,上周我获得了8GB的新内存,所以我想:是时候使用它了。我检查了任务管理器,发现了使用250 my的intelliJ。从eclipse中我知道调整JVM选项对提高速度有很大帮助,所以我搜索了.

并且找到了这张是OS的,我无法立即找到JVM选项,所以我开始调整Xmx。在1GB时,我意识到它不会再启动了。我检查了intelliJ的java版本,发现它过时了,只有32位。

因此,为了使用当前的JDK和64位,必须将链接更改为:

代码语言:javascript
复制
IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe

代码语言:javascript
复制
IntelliJ IDEA Community Edition 10.0.2\bin\idea.BAT

调整“开始”

bat寻找JDK_HOME,现在使用64位。

我当前的VM选项,位于

代码语言:javascript
复制
...\IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe.vmoptions

代码语言:javascript
复制
-Xms512m
-Xmx1024m
-XX:MaxPermSize=512m
-ea
-server
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseParallelGC

而不是-XX:+UseParallelGC,您可以使用-XX:+UseConcMarkSweepGC,它是

桌面应用程序的公认选择,但我最近已经更改为吞吐量收集器。因为有了快速的机器和足够小的堆,您就有了快速的暂停、更高的吞吐量,并且没有碎片问题(ijuma )。#scala)

更改:

代码语言:javascript
复制
-XX:+UseConcMarkSweepGC //removed
// removed, because not needed with the lastest JVM.
    -XX:+UnlockExperimentalVMOptions
    -XX:+DoEscapeAnalysis
    -XX:+UseCompressedOops

我现在就坚持这些选择。我很想知道你在这方面的经验。

哪种选择最适合你?如何在通过.bat**?运行intelliJ时隐藏此cmd窗口:)**

顺便说一句,这是调谐intelliJ的另一个链接。基本上,它在第20/21页上说,关闭windows、还原和防病毒的系统脏文件。

另一种加速intelliJ的方法是将intellij系统文件夹放在ramdrive上(谢谢OlegYch\h)。

代码语言:javascript
复制
from idea.properties 
idea.system.path=${idea.home}/.IntelliJIdea/system

Win 7 64位RAM驱动器的超级用户这一个。对我来说,1GB似乎没问题。

朋友给我的另一个提示是,将项目目录排除在防病毒中(扫描访问)。

关于优化Eclipse,也有类似的文章:

EN

回答 12

Stack Overflow用户

发布于 2014-01-25 14:29:03

这个组合对我在小牛中运行的Intellij13非常有用:

更新:2017年7月18日

代码语言:javascript
复制
# custom IntelliJ IDEA VM options

-ea
-server
-Xms2G
-Xmx4096M
-Xss2m
-XX:MaxMetaspaceSize=2G
-XX:ReservedCodeCacheSize=1G
-XX:MetaspaceSize=512m
-XX:+UseConcMarkSweepGC
-XX:+DoEscapeAnalysis
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:+UnlockExperimentalVMOptions
-Djava.net.preferIPv4Stack=true
-Dsun.io.useCanonCaches=false
-XX:LargePageSizeInBytes=256m
-XX:+UseCodeCacheFlushing
-XX:ParallelGCThreads=8
-XX:+DisableExplicitGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+PrintGCDetails
-XX:+PrintFlagsFinal
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:CMSInitiatingOccupancyFraction=60
-XX:+CMSClassUnloadingEnabled
-XX:+CMSParallelRemarkEnabled
-XX:+UseAdaptiveGCBoundary
-XX:+UseSplitVerifier
-XX:CompileThreshold=10000
-XX:+OptimizeStringConcat
-XX:+UseStringCache
-XX:+UseFastAccessorMethods
-XX:+UnlockDiagnosticVMOptions
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseCompressedOops
-XX:-OmitStackTraceInFastThrow
-Dawt.useSystemAAFontSettings=lcd

-Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine

我在https://github.com/adben/config/blob/master/idea64.vmoptions上更新了这个设置

票数 34
EN

Stack Overflow用户

发布于 2011-04-25 15:50:07

对我来说,切换到SSD-驱动器改善了很多性能(特别是大型项目)。

票数 31
EN

Stack Overflow用户

发布于 2014-04-02 19:53:56

一段时间前,我正在寻找加速我的项目编译的方法,这就是结果。这并不是为了IntelliJ IDEA本身,但是当(重新)构建一个大型项目时,它会有很大的帮助,我想,它也会与任何其他IDEA一起工作。此外,我还描述了Linux方法,但我确信Windows有自己的RAM-磁盘实现。

加速编译的最简单方法是将编译输出移动到RAM磁盘。

RAM磁盘设置

开刺

代码语言:javascript
复制
$ sudo gedit /etc/fstab

(而不是gedit,您可以使用vi或任何您喜欢的东西)

设置RAM磁盘挂载点

我在我的系统中的几个地方使用RAM磁盘,其中一个是/tmp,所以我将把编译输出放在那里:

代码语言:javascript
复制
tmpfs /var/tmp tmpfs defaults 0 0

在本例中,您的文件系统大小将没有限制,但没关系,我的/tmp大小现在是73 my。但是,如果您担心RAM磁盘大小会变得太大,您可以限制它的大小,例如:

代码语言:javascript
复制
tmpfs /var/tmp tmpfs defaults,size=512M 0 0

项目设置

在IntelliJ思想中,打开项目结构(默认情况下是Ctrl+Alt+Shift+S),然后转到Project -‘Project编译器输出’并将其移动到RAM磁盘挂载点:

代码语言:javascript
复制
/tmp/projectName/out

(我添加了projectName文件夹,以便在需要时找到它,或者同时处理多个项目)

然后,转到Modules,在所有模块中选择path并选择‘’,或者,如果您想使用自定义的编译输出路径,可以按照以前对项目编译器输出的方式修改“输出路径”和“测试输出路径”。

仅此而已,各位!

P.S.几个数字:我在不同情况下编写当前项目的时间(大约):

代码语言:javascript
复制
HDD:     80s
SSD:     30s
SSD+RAM: 20s

如果您使用SSD磁盘,除了编译加速之外,您还将减少磁盘上的写入操作,因此它也将帮助您的SSD从此过上幸福的生活;)

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5651538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档