ChatGPT解决这个技术问题 Extra ChatGPT

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

我在 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 来自哪里?我需要删除它。

请注意,对于 64 位,文件名需要是 idea64.vmoptions
@Ittai 对我来说 idea.vmoptions 也适用于 64 位以及 mac os 10.9
在带有 IntelliJ 14 的 OS X 10.10.3 上,我必须将 ~/Library/Preferences/IdeaIC14/idea.vmoptions 重命名为 idea64.vmoptions,然后它才能识别更改,即 -Xmx2048m
在 OS X 10.11 Intellij 15 64 位上,我必须将 idea64.vmoptions 重命名为 idea.vmoptions 才能使其正常工作。
另请参阅 tomaszdziurko.com/2015/11/… 上的 IDEA 选项调查

C
CrazyCoder

当前版本:Help | Change Memory Settings

https://i.stack.imgur.com/3mr53.png

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

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

旧版本:

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

作为解决 IDEA-94050 的结果,IDEA 12 中引入了一种提供 JVM 选项的新方法:

现在它可以从 ~/Library/Preferences//idea.vmoptions 获取 VM 选项,从 ~/Library/Preferences//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 文件。


这个文件对我有用:/Users//Library/Preferences/IdeaIC12/idea.vmoptions
我想将 properties 文件放在应用程序包之外,因为编辑 .app 包会导致其代码签名中断和/或需要在每次更新后重做。
在 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 配置文档相匹配。
cp /Applications/IntelliJ\ IDEA\ 13.app/bin/idea.vmoptions ~/Library/Preferences/IntelliJIdea13/idea.properties 然后 vi ~/Library/Preferences/IntelliJIdea13/idea.properties
如果您在 OSX 上并使用 PHPStorm,则可以将其复制到 ~/Library/Preferences/WebIde80/idea.properties(如果您使用的是 phpstorm 7,请使用 WebIde70)
T
TrophyGeek

[自 JetBrains UI 更改后于 2021 年 8 月更新]

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

您可以使用 Memory Indicator 查看正在使用的内存量并相应地进行调整

右键单击最底部的任务栏区域并选择 Memory Indicator

https://i.stack.imgur.com/Rx4Sa.png

它显示在窗口的右下方。

https://i.stack.imgur.com/3kuTy.png


确保您也启用了 ViewStatus Bar
哇,你用-Xmx=8G?
有什么方法可以显示您从 IntelliJ 运行的应用程序的内存使用情况,而不是 IDE 的内存使用情况?
现在在 View > Appearance > Status bar widgets > Memory indicator
u
ujay68

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

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

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


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

以下是截至今天的最新文档的链接http://www.jetbrains.com/idea/webhelp/increasing-memory-heap.html


这只是增加编译器的堆,而不是 IDE。
@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 适合你吗?
@michael-m 对不起。我确实读过,但不知何故错过了那个笔记。谢谢你纠正我。
r
rinkesh

转到该路径“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

希望它会起作用


Windows 是这样,但 OSX 不是,这就是问题所在。
找到了它,它在 Windows 中帮助了我!谢谢!
A
Avishek Bhattacharya

至于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 上尝试这个配置
B
BeetleJuice

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

https://i.stack.imgur.com/GwLOS.png


A
Arneball

OSX 10.9,如果您不关心已签名的应用程序,您可能会更改

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

a
ajtrichards

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


请参阅我更新的答案。请注意,Preferences 中的 idea.vmoptions 不会添加选项,而是替换它们。因此,您需要从 bin 目录中复制原始文件,然后对其进行修改。
M
Michael Bushe

看起来 IDEA 为您解决了这个问题(就像其他一切一样)。当加载一个大型项目并让它抖动时,它将打开一个对话框来设置内存设置。 Xmx 输入 2048 并单击“关闭”,然后重新启动 IDEA 会使 IDEA 以更多内存启动。这似乎适用于 Mac OS,尽管它似乎从未在 Windows 上持续存在(不确定 IDEA 12)。


a
abmap

此处对最佳答案的一些补充https://stackoverflow.com/posts/13581526/revisions

在 .vmoptions 中根据需要更改内存启用内存视图,如此处所述 https://stackoverflow.com/a/39563251/5515861

你会在右下角有这样的东西

https://i.stack.imgur.com/BgGjA.png


D
Denys

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

details


R
Richard Tyler Miles

我从编辑器中编辑了配置文件,并且在下次重新启动时,即使更新到最新版本,IntelliJ 也不会打开。使用 terminal 中的 /Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea 手动打开 IntelliJ 后,输出让我进一步了解了 .vmoptions 副本的存储位置。

➜  ~ /Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea
2022-04-21 13:01:55.189 idea[1288:14841] allVms required 1.8*,1.8+
2022-04-21 13:01:55.192 idea[1288:14845] Current Directory: /Users/richardmiles
2022-04-21 13:01:55.192 idea[1288:14845] parseVMOptions: IDEA_VM_OPTIONS = (null)
2022-04-21 13:01:55.192 idea[1288:14845] fullFileName is: /Applications/IntelliJ IDEA.app/Contents/bin/idea.vmoptions
2022-04-21 13:01:55.192 idea[1288:14845] fullFileName exists: /Applications/IntelliJ IDEA.app/Contents/bin/idea.vmoptions
2022-04-21 13:01:55.192 idea[1288:14845] parseVMOptions: /Applications/IntelliJ IDEA.app/Contents/bin/idea.vmoptions
2022-04-21 13:01:55.192 idea[1288:14845] parseVMOptions: /Applications/IntelliJ IDEA.app.vmoptions
2022-04-21 13:01:55.195 idea[1288:14845] parseVMOptions: /Users/richardmiles/Library/Application Support/JetBrains/IntelliJIdea2022.1/idea.vmoptions
2022-04-21 13:01:55.195 idea[1288:14845] parseVMOptions: platform=17 user=1 file=/Users/richardmiles/Library/Application Support/JetBrains/IntelliJIdea2022.1/idea.vmoptions
Invalid maximum heap size: -Xmx2048m -Drun.processes.with.pty=true
Invalid maximum heap size: -Xmx2048m -Drun.processes.with.pty=true
2022-04-21 13:01:55.266 idea[1288:14845] JNI_CreateJavaVM (/Applications/IntelliJ IDEA.app/Contents/jbr) failed: -6

请注意,当您使用路径时,请记住像这样正确引用!

vim "/Users/richardmiles/Library/Application Support/JetBrains/IntelliJIdea2022.1/idea.vmoptions"

我个人的问题不是每行提供一个参数!