【问题标题】:increase the java heap size permanently?永久增加java堆大小?
【发布时间】:2010-10-27 05:19:28
【问题描述】:

有没有一种方法可以在我自己的计算机上设置 jvm 的默认堆大小?我想将其设置为 1g,因为我总是运行自定义程序,这些程序总是在默认 jvm 大小中达到超额点。

我只是不想每次从命令行运行我的 java 应用程序时都要记住输入 -XmX1g...

必须有管理员方式才能做到这一点吗?

【问题讨论】:

  • 注意,来自 Sun 的最新 Java 6 版本增加了标准堆限制。

标签: java size heap-memory jvm-arguments


【解决方案1】:

你在运行什么平台?..
如果是 unix,可能会添加

alias java='java -Xmx1g'  

到 .bashrc(或类似的)工作

编辑:将 XmX 更改为 Xmx

【讨论】:

    【解决方案2】:

    这对我有用:

    export _JAVA_OPTIONS="-Xmx1g"
    

    重要的是你没有空格,因为对我来说它不起作用。我建议只是复制和粘贴。然后我跑了:

    java -XshowSettings:vm 
    

    它会告诉你:

    拾取_JAVA_OPTIONS:-Xmx1g

    【讨论】:

    • 它对我有用,但一段时间后它在我的 ec2 tomcat 上下降到与以前相同的堆大小
    【解决方案3】:

    显然,_JAVA_OPTIONS 也适用于 Linux:

    $ export _JAVA_OPTIONS="-Xmx1g"
    $ java -jar jconsole.jar &
    Picked up _JAVA_OPTIONS: -Xmx1g
    

    【讨论】:

    • 我建议将“>”替换为“$”,因为 linux 终端提示符以 $ 结尾。起初我对你的回答感到困惑,因为它类似于终端内的子 cli 的结构。 (例如mysql)...显然有'>'的提示。感谢您的回答(在我看来这应该是批准的答案)......我的长时间运行的脚本在 3 小时后没有失败,将我的 java 堆大小从 500mb 更改为 2gb!另外,我不确定第 3 行“Picked ...”是否是第 2 行的一部分。所以我都尝试了。 (如果这只是一个输出......会建议'输出:'的前缀。:)
    • 谢谢@josh.thomson,我已经用你的建议更新了答案
    【解决方案4】:

    对于 Windows 用户,您可以添加一个名为 _JAVA_OPTIONS 的系统环境变量,并在那里设置堆大小值。 JVM 应该能够从 _JAVA_OPTIONS 中获取虚拟机选项。

    【讨论】:

    • windows解决方案可以联系here
    猜你喜欢
    • 2019-02-10
    • 2012-07-19
    • 2012-12-07
    • 2013-01-26
    • 2012-07-14
    • 2012-09-20
    • 2010-12-06
    • 2022-11-21
    相关资源
    最近更新 更多