我正在尝试将IntelliJ IDEA从版本141.177更新到141.178。当更新程序下载所需的所有文件并开始更新时,出现此错误:
Temp. directory: /tmp
java.lang.OutOfMemoryError: Java heap space
at ie.wombat.jbdiff.JBPatch.bspatch(JBPatch.java:91)
at com.intellij.updater.BaseUpdateAction.applyDiff(BaseUpdateAction.java:112)
at com.intellij.updater.UpdateAction.doApply(UpdateAction.java:44)
at com.intellij.updater.PatchAction.apply(PatchAction.java:184)
at com.intellij.updater.Patch$3.forEach(Patch.java:308)
at com.intellij.updater.Patch.forEach(Patch.java:360)
at com.intellij.updater.Patch.apply(Patch.java:303)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:84)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:75)
at com.intellij.updater.Runner.doInstall(Runner.java:295)
at com.intellij.updater.Runner.access$000(Runner.java:18)
at com.intellij.updater.Runner$2.execute(Runner.java:261)
at com.intellij.updater.SwingUpdaterUI$5.run(SwingUpdaterUI.java:191)
at java.lang.Thread.run(Thread.java:745)
该/tmp
文件夹应位于我的根分区上,该分区的大小为20GiB,目前仍剩余约8GiB。所以我真的不明白现在可能出现什么问题。另外,我不确定RAM的一部分,我进行更新时系统正在使用40%的RAM。
阅读JetBrains文档和有关如何增加IntelliJ的最大堆大小的答案。
根据我上面提到的文档,设置-Xmx2048m
为idea.vmoptions
(32位版本)或idea64.vmoptions
(64位版本),并将其复制到适当的位置。
我也将这样做File > Invalidate Caches / Restart > Invalidate and Restart
,只是为了确保已进行更改(可能没有必要,但以防万一)。
今天,当我尝试通过自动更新程序从14.1.1升级到14.1.2时,我收到了完全相同的堆栈跟踪信息。在OS X上,我通过重命名~/Library/Preferences/IdeaIC14/idea.vmoptions
为解决了该问题idea64.vmoptions
。我已经-Xmx2048m
在该文件中设置了文件,但显然直到正确重命名它才被读取。
另请参阅YouTrack问题IDEA-139036(感谢@Meo)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句