如何在 Mac OS X 10.9 上加速 IntelliJ?

6
I'm使用Mac OSX 10.9和Intellij Idea 13在一台配置高端的机器上(7i处理器,16GB RAM,64位等)。我已经让它们正常工作了;然而,我觉得Intellij运行得相当慢(大约需要5分钟启动,几乎需要2分钟编译一个system out print line类等)。作为参考,我查看了众多帖子,并得出了以下配置。我的问题是:是否有其他人使用类似的设置并使其运行更快?如果是这样,您对环境进行了哪些修改以加速运行速度?感谢您提前提供的任何帮助。
Java版本:
从jdk1.6切换到jdk1.7
idea.vmoptions:
-ea
-server
-Xms1g
-Xmx1g
-Xss16m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseConcMarkSweepGC
-XX:LargePageSizeInBytes=256m
-XX:ReservedCodeCacheSize=96m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops
-XX:ParallelGCThreads=8
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+DisableExplicitGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+PrintGCDetails
-XX:+PrintFlagsFinal
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
-XX:CMSInitiatingOccupancyFraction=60
-XX:+CMSClassUnloadingEnabled
-XX:+CMSParallelRemarkEnabled
-XX:+UseAdaptiveGCBoundary
-XX:+UseSplitVerifier
-XX:CompileThreshold=10000
-XX:+UseCompressedStrings
-XX:+OptimizeStringConcat
-XX:+UseStringCache
-XX:+UseFastAccessorMethods
-XX:+UnlockDiagnosticVMOptions

info.plist(修改):

<key>LSArchitecturePriority</key>
<array>
  <string>x86_64</string>
</array>

  <key>JVMVersion</key>
  <string>1.7*</string>

你的电脑哪个关键系统在拖慢速度?是CPU还是硬盘? - Xabster
如果你的RAM足够好,尝试使用-Xms6g -Xmx6g。 - Jayan
1
你的一些参数是无用的,比如-XX:+PrintGCDetails和UseSplitVerifier。我建议从基本的vmoptions文件开始,只增加内存和MaxPermSize。 - Jayan
我曾经使用过Xcode和Eclipse,两者都有更好的效果。我正在尝试让Intellij工作,这样我就可以与一些朋友在一个共同的环境中开发。CPU、RAM和硬盘都正常运行(我在启动时对它们进行了诊断),所以我认为这是一个Intellij配置问题。我现在要尝试Jayan的建议。 - user3264641
1
请检查插件,也许您启用了比实际需要的更多。 - Vic
显示剩余3条评论
2个回答

1

你会建议使用哪个?慢性能问题又出现了,所以我开始尝试这个东西。我和一些设置类似的人交谈过,他们似乎也有同样的问题,并且现在使用他们的电脑。我真的很想让这在我的 Mac 上运行。这是我现在正在使用的: - user3264641
-server -Xms1g -Xmx1g -Xss16m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:LargePageSizeInBytes=512m -XX:ReservedCodeCacheSize=512m -XX:ParallelGCThreads=8 -XX:+AggressiveOpts -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:+UnlockDiagnosticVMOptions -agentlib:yjpagent=delay=10000 - user3264641
正如我之前所写的,我建议不要设置任何特殊的VM选项,除了适当的-Xmx和必需的-XX:MaxPermSize和-Xss。 - Yann Cébron
我问这个问题的原因是因为那样做不起作用。我希望你能给出一个具体的例子,说明在这个设置上会起作用的方法。非常感谢你的帮助;然而,我开始认为这个配置可能与缓慢启动无关,而是由Intellij中嵌入的另一个依赖项引起的。我会找出答案并在这里发布我的发现。 - user3264641

0
这是关于编程的内容。有很多关于更改堆大小、垃圾收集器等等的资料。这可能不是您问题的根本原因。务必了解在vmoptions文件中设置了什么,因为一些建议已不再得到支持。我曾与IntelliJ的工作人员合作,反复查看日志文件等等,最终发现应该检查您的防病毒软件。调整了我的防病毒软件后,以下设置使IntelliJ运行得非常顺畅。请注意,这是我的个人问题的原因;因此,请务必检查您的日志文件,因为那是我开始寻找答案的地方。
JDK 1.6
.vmoptions正在/Application/IntelliJ13/bin目录下运行:
-Xms128m
-Xmx750m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=96m
-XX:+UseCompressedOops

请注意,您不需要分配大量的系统资源。如果您正确设置了系统,则不需要这样做。

Idea.plist:

<key>LSArchitecturePriority</key>
<array>
  <string>x86_64</string>
  <string>i386</string>
</array>

<key>JVMVersion</key>
<string>1.6*</string>

我知道这很简单,但它有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接