使用G1& amp;冲突的收集器组合OSX上的IntelliJ 2017.1

时间:2017-04-14 12:05:57

标签: java intellij-idea garbage-collection

我正在尝试使用Intellij Community Edition 2017.1配置垃圾收集。使用以下/Users/jilles/Library/Preferences/IdeaIC2017.1/idea.vmoptions

# custom IntelliJ IDEA VM options

-XX:+UseG1GC

它拒绝从这开始。上面的文件只有1个选项可以打开G1。我只是删除了选项,直到找到导致问题的选项。经过一番挖掘,我设法至少让它告诉我为什么在命令行上(这些东西永远不会在日志中结束):

~/Library/Preferences/IdeaIC2017.1 $ /Applications/IntelliJ\ IDEA\ CE.app/Contents/MacOS/idea
2017-04-14 13:41:52.697 idea[54761:1579154] allVms required 1.8*,1.8+
2017-04-14 13:41:52.701 idea[54761:1579163] fullFileName is: /Applications/IntelliJ IDEA CE.app/Contents/bin/idea.vmoptions
2017-04-14 13:41:52.701 idea[54761:1579163] fullFileName exists: /Applications/IntelliJ IDEA CE.app/Contents/bin/idea.vmoptions
2017-04-14 13:41:52.701 idea[54761:1579163] Value of IDEA_VM_OPTIONS is (null)
2017-04-14 13:41:52.701 idea[54761:1579163] Processing VMOptions file at /Users/jilles/Library/Preferences/IdeaIC2017.1/idea.vmoptions
2017-04-14 13:41:52.702 idea[54761:1579163] Done
Conflicting collector combinations in option list; please refer to the release notes for the combinations allowed
2017-04-14 13:41:52.710 idea[54761:1579163] JNI_CreateJavaVM (/Applications/IntelliJ IDEA CE.app/Contents/jdk) failed: 4294967295

发行说明实际上似乎包含一系列已修复的问题,其中似乎没有任何关于垃圾收集的问题。

intellij不支持G1垃圾收集器吗?那些冲突的设置是什么,它们在哪里配置或为什么不允许这样做?对于intellij,GC配置的最新建议是什么?我很遗憾地问,因为这似乎是intellij语境中一个激烈争论的话题,但我发现与此相关的所有内容都是针对古老版本的java + intellij。谷歌似乎很高兴地推荐可追溯到2006年的文章,这不太有帮助。

/Applications/IntelliJ IDEA CE.app/Contents/bin/idea.vmoptions没有配置任何垃圾收集的东西,并附带一些奇怪的低堆大小默认值,几乎肯定需要一定程度的调整:

-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseCompressedOops

1 个答案:

答案 0 :(得分:4)

我还没有尝试过这个,但我怀疑(正如你显然那样)它与另一个GC配置冲突。

您是否尝试关闭其他选项以取消父配置可能添加的任何其他选项,例如做类似的事情:

-XX:-UseParallelGC
-XX:-UseConcMarkSweepGC
-XX:+UseG1GC

更新