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

2022-08-31 04:50:13

我在Mountain Lion上使用IDEA 12 Leda。我想增加IDE可以使用的最大内存。我将 Info.plist 文件中的 VM 选项设置为-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


答案 1

当前版本: |:HelpChange Memory Settings

Change memory settings

从IntelliJ IDEA 15.0.4开始,您还可以使用:|:HelpEdit Custom VM Options...

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


旧版本:

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

由于解决了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

复制原始文件很重要,因为不会添加选项,而是替换它们。

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


社区版:改用文件。~/Library/Preferences/IdeaIC12/idea.vmoptions


答案 2

[自 JetBrains UI 更改以来,已于 2021 年 8 月更新]

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

您可以看到正在使用的内存量,并使用Memory Indicator

右键单击最底部的任务栏区域,然后选择项目Memory Indicator

How to enable Memory Indicator by right clicking

它显示在窗口的右下角。

enter image description here