【问题标题】:Intellij idea Heap size can not be changedIntellij idea 堆大小不能改变
【发布时间】:2018-12-28 09:55:10
【问题描述】:

有一天,我运行了一个巨大的东西,弹出一个窗口说heap memory out of memory,我在那个窗口中将它设置为2014M,然后单击继续。一切都很好。

但我不喜欢 2014 的数字,我想要 2048。所以,我更改了 idea64.exe.vmoptions 中的 -Xmx 选项(如下所示)并重新启动了想法。 (据此doc)但是,什么都没有改变,堆大小仍然是2014M。

-Xms512m
-Xmx2048m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

然后,我将所有能找到的idea64.exe.vmoptions 都更改了,然后重新启动,但仍然失败。

操作系统:Windows 10 64 位
创意版本:2018.1

如何将堆大小更改为 2048M ?

请帮忙,谢谢。

更新:

那天,我正在调试一些加密一些大对象的代码,并且在我使用copy value 函数后弹出了弹出窗口。

我尝试将IntelliJ Idea的JVM的堆大小更改为官方文档,但不起作用。

堆内存统计在这里:

更新 2:

日志:

2018-07-23 09:54:04,184 [    224]   INFO -        #com.intellij.idea.Main - JVM Args: -Xms512m -Xmx2048m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Djb.vmOptionsFile=C:\Users\huayu\.IntelliJIdea2018.1\config\idea64.exe.vmoptions -Didea.jre.check=true -Dide.native.launcher=true -Didea.paths.selector=IntelliJIdea2018.1 -XX:ErrorFile=C:\Users\huayu\java_error_in_idea_%p.log -XX:HeapDumpPath=C:\Users\huayu\java_error_in_idea.hprof 

【问题讨论】:

  • Windows UAC 可能是原因。如果启用,文件可以移动到 c:\Users\\AppData\Local\VirtualStore\。您还可以查看idea.log 中使用了哪些 .vmoptions 文件 - 它在启动时被记录。
  • 谢谢你,我找到了日志,日志中有2048MB。我没弄明白....

标签: intellij-idea heap-memory


【解决方案1】:

较新版本的 IDEA 对 vm 选项使用不同的文件。旧版本使用 C:\Program Files\JetBrains\IntelliJ IDEA {version}\bin\idea64.exe.vmoptions 但现在这些配置存在于 C:\Users{user}.IntelliJIdea{version}\config\idea64.exe .vmoptions。

您可以从 IntelliJ 获取此文件。 On the Help menu, click Edit Custom VM Options. 然后重启IDEA,它应该会更新。

注意:看起来右下角显示的值与您在配置文件中指定的值不完全匹配。不知道为什么。

另见:How to increase the memory heap size on IntelliJ IDEA?

【讨论】:

【解决方案2】:

在小时和小时搜索之后。 在 Windows 10 上 控制面板 => 系统 => 高级系统设置 系统属性 => 高级 环境变量

_JAVA_OPTIONS -Xmx8192M

【讨论】:

    【解决方案3】:

    当您进入该弹出窗口时,您更改了您在 IntelliJ 中运行的项目的堆大小,而不是 IntelliJ 本身的堆大小。 您可以在项目的运行配置中进行设置。

    启动选项会改变 IntelliJ 本身的堆大小,不会一直显示在屏幕上。

    【讨论】:

    • 嗨,我知道你的意思。是我的错,我没有说清楚。在调试会话中我copy value 之后显示该弹出窗口。我想要改变的是 IntelliJ 的 heapsize。请查看更新。
    【解决方案4】:

    我刚刚意识到,当我运行 64 位想法时,显示值的内存指示器来自 32 位 vmoptions 文件。因此指标没有显示正确的值。

    【讨论】:

      猜你喜欢
      • 2019-03-05
      • 2017-09-03
      • 1970-01-01
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 1970-01-01
      • 2018-04-14
      相关资源
      最近更新 更多