如何在Mac上的IntelliJ IDEA中增加IDE内存限制?


316

我在Mountain Lion上使用IDEA 12 Leda。我想增加IDE可以使用的最大内存。我将Info.plist文件中的VMOptions设置为 -Xmx2048m -ea -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar

当我打开IDEA时,仍然看到最大内存为711m。

jps -v 显示我的VMOptions已加载,但已被以下选项取代。

29388  **-Xmx2048m** -ea -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar -Xms128m **-Xmx800m** -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=64m -XX:+UseCodeCacheFlushing -XX:+UseCompressedOops -Didea.paths.selector=IdeaIC12 -Dsun.java2d.noddraw=true -Didea.max.intellisense.filesize=2500 -Didea.dynamic.classpath=false -Didea.jars.nocopy=false -Dsun.java2d.d3d=false -Dapple.awt.fullscreencapturealldisplays=false -Dapple.laf.useScreenMenuBar=true -Djava.endorsed.dirs= -Dswing.bufferPerWindow=false -Didea.fatal.error.notification=enabled -Didea.cycle.buffer.size=1024 -Didea.popup.weight=heavy -Didea.xdebug.key=-Xdebug -Dapple.awt.graphics.UseQuartz=true -Dsun.java2d.pmoffscreen=false -Didea.no.launcher=false -DCVS_PASSFILE=~/.cvspass -Didea.use.default.antialiasing.in.editor=false -Dcom.apple.mrj.application.live-resize=false -Didea.smooth.progress=false
29392 Jps -Dapplication.home=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home -Xms8m

哪里-Xmx800来的?我需要删除它。


4
请注意,对于64位,文件名需要为idea64.vmoptions
Ittai

@Ittai对我的想法idea.vmoptions在Mac OS 10.9上也适用于64位
Koray Tugay 2014年

在带有IntelliJ 14的OS X 10.10.3上,我必须重命名~/Library/Preferences/IdeaIC14/idea.vmoptionsidea64.vmoptions,才能识别更改-Xmx2048m

在OS X 10.11 Intellij 15 64位上,我必须将idea64.vmoptions重命名为idea.vmoptions才能起作用。
himanshu shekhar

Answers:


577

当前版本:Help| Change Memory Settings

变更记忆体设定

由于IntelliJ IDEA的15.0.4你也可以使用:Help| Edit Custom VM Options...

这将.vmoptions在config文件夹中自动创建文件的副本,并打开一个对话框进行编辑。


旧版本:

IntelliJ IDEA 12是已签名的应用程序,因此Info.plist不再建议更改in的选项,因为签名将不匹配,并且根据系统安全设置,您会遇到问题(应用程序将无法运行,或者防火墙在每次启动时都会抱怨,或者该应用将无法使用系统密钥库来保存密码)。

由于解决了IDEA-94050,IDEA 12中引入了一种提供JVM选项的新方法:

现在,它可以从中获取VM选项,从中获取 ~/Library/Preferences/<appFolder>/idea.vmoptions系统属性~/Library/Preferences/<appFolder>/idea.properties

例如,要使用-Xmx2048m选项,应将原始.vmoptions文件从复制/Applications/IntelliJ IDEA.app/bin/idea.vmoptions~/Library/Preferences/IntelliJIdea12/idea.vmoptions,然后修改-Xmx设置。

最终文件应如下所示:

-Xms128m
-Xmx2048m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

复制原始文件很重要,因为未添加选项,而是将替换

这样,您的自定义选项将在更新之间保留,而应用程序文件将保持不变,从而使签名检查器满意。


Community Edition:使用~/Library/Preferences/IdeaIC12/idea.vmoptions文件代替。


7
该文件为我工作:/ Users
<用户>

1
/ Applications ...或〜/ Library ...都不对我有用(仍在尝试)-如果重要,我仍在Snow Leopard上。
mparaz

7
在Mac OS X 10.8.3和IntelliJ IDEA Ultimate 12.1.4上,正确的命令是$ cp -i /Applications/IntelliJ\ IDEA\ 12.app/bin/idea.vmoptions ~/Library/Preferences/IntelliJIdea12/。这与michael-m提到的jetbrains.com/idea/webhelp/increasing-memory-heap.html上的最新IDEA配置文档相匹配。
Michael G. Noll

6
cp /Applications/IntelliJ\ IDEA\ 13.app/bin/idea.vmoptions ~/Library/Preferences/IntelliJIdea13/idea.properties然后vi ~/Library/Preferences/IntelliJIdea13/idea.properties
Darius M.

2
如果您使用的是OSX并使用PHPStorm,则可以将其复制到〜/ Library / Preferences / WebIde80 / idea.properties(如果使用的是phpstorm 7,请使用WebIde70)
Mixologic 2014年

104

我以为我会在这个旧线程上分享有用的技巧。

您可以查看正在使用的内存量,并使用该Show memory indicator设置进行相应的调整。

在此处输入图片说明

它显示在窗口的右下角。

在此处输入图片说明


9
确保您也已启用ViewStatus Bar
TrophyGeek

哇,您使用-Xmx = 8G吗?
Kedar Mhaswade

有什么方法可以显示您从IntelliJ运行的应用程序的内存使用情况,而不是IDE的内存使用情况?
OscarVanL

14

对于IDEA 13和OS X 10.9 Mavericks,正确的路径是:

原始文件:/ Applications / IntelliJ IDEA 13.app/Contents/bin/idea.vmoptions

复制到:〜/ Library / Preferences / IntelliJIdea13 / idea.vmoptions


我在〜/ Library / Preferences中没有IntelliJIdea13文件夹。试图创建它,并将文件放入其中,但是没有运气。还有其他提示吗?
Tiago

11

那只是关于增加编译器的堆,而不是关于IDE。
Zayenz 2013年

3
@Zayenz ::错误。这不只是“增加”构建过程的堆,还包括回答问题的信息-即在“注释”下表示The memory heap available to IntelliJ IDEA may be changed by editing the corresponding VM options. Depending on the platform, these files are:....。-TLDR适合您吗?
MikeM 2013年

1
@ michael-m对不起。我确实读过,但是以某种方式错过了那个笔记。感谢您纠正我。
Zayenz

5

至于intellij2018版本,我使用以下配置以获得更好的性能

-server
-Xms1024m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=512m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:-TraceClassUnloading
-XX:+TieredCompilation
-XX:SoftRefLRUPolicyMSPerMB=100
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Xverify:none

-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof

感谢Avishek ..一定会在intellij IDEA 2018上尝试此配置
gaurav

4

转到该路径“ C:\ Program Files(x86)\ JetBrains \ IntelliJ IDEA 12.1.4 \ bin \ idea.exe.vmoptions”,并将大小更改为-Xmx512m

  -Xms128m
  -Xmx512m
  -XX:MaxPermSize=250m
  -XX:ReservedCodeCacheSize=64m
  -XX:+UseCodeCacheFlushing
  -ea
  -Dsun.io.useCanonCaches=false
  -Djava.net.preferIPv4Stack=true

希望它能工作


8
Windows是正确的,但OSX并非如此,这就是问题所在。
cdeszaq

1
找到了,它在Windows中对我有帮助!谢谢!
WebComer

3

OSX 10.9,如果您不必担心已签名的应用程序,则可以更改

/Applications/IntelliJ\ IDEA\ 12\ CE.app/bin/idea.vmoptions

2

看起来IDEA可以为您解决此问题(就像其他所有事情一样)。加载大型项目并使其崩溃时,它将打开一个对话框以调出内存设置。为Xmx输入2048并单击“关闭”,然后重新启动IDEA将使IDEA启动时具有更多的内存。对于Mac OS来说,这似乎很好用,尽管对Windows而言,这似乎永远也不会持久(不确定IDEA 12)。


1

在我的机器上,这仅适用于bin/idea.vmoptions,在中添加设置~/Library/Preferences/IntelliJIdea12/idea.vmoptions会导致IDEA在启动期间挂起。


请查看我更新的答案。请注意,idea.vmoptions在“ Preferences不添加”选项中,它将替换它们。因此,您需要从bin目录中复制原始文件,然后对其进行修改。
CrazyCoder 2012年


1

IntelliJ的最新版本(当然是WebStorm和PhpStorm)通过添加一个Help >> Change Memory Settings菜单项来打开此对话框,可以在其中设置内存限制,从而使更改变得更加容易。

显示内存限制设置的菜单项 内存设置对话框


0

我使用Mac和Idea 14.1.7。在这里找到idea.vmoptions文件:/ Applications / IntelliJ IDEA 14.app/Contents/bin

细节

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.