如何在Mac OSX上增加Java的全局堆大小

问题描述 投票:6回答:3

Apple认为可以从Utilities文件夹中删除Java Preferences应用程序,因此不再有任何GUI方法可以增加Java的已分配内存限制。

我不是一个真正的命令行人,所以我想在这里问。

我有一些需要大内存分配的应用程序,我在这台机器上运行16GB的RAM,因此我不担心在其他应用程序运行时运行它们,更不用说我不经常运行这些应用程序。我想将允许的内存限制增加到6144m,但看不到如何正确执行。

这是我找到的代码,但是运行并检查我的活动监视器后,有问题的应用程序仍然仅访问800m左右,最终耗尽了堆并崩溃。

export _JAVA_OPTIONS='-Xmx6144m'

有人可以帮我吗?

java macos jvm-arguments
3个回答
3
投票

在最近更新之后,从[article on the missing Java Preferences开始,看起来像download Java 1.7,然后可以在系统偏好设置下访问Oracle的Java偏好设置。

请注意,您的应用程序可能会或可能不会在Java 1.7下运行-升级始终存在风险。


1
投票

技巧是编辑/etc/launchd.conf(您需要以管理员身份进行此操作);添加

setenv _JAVA_OPTIONS "-Xmx6144m"
  • 请注意,这不适用于MacOS 10.10及更高版本,需要您执行this

0
投票

我最近在Mac OS Catalina(10.15.3)上安装了Eclipse MAT(Eclipse内存分析器版本1.9.1)。我需要查看4g堆转储。 MAT的默认JVM堆大小为1024m。

我认为增加JVM堆大小的最简单方法是使用shell窗口-转到/Applications/mat.app/Contents/Eclipse/文件夹。然后vi MemoryAnalyzer.ini并将-Xmx1024m更改为您所需的值,在我的情况下,我使用-Xmx10g。

要查看更改,请转到帮助->关于Eclipse Memory Analyzer,然后单击安装详细信息,然后查找条目:eclipse.vmargs = -Xmx10g,大约向下50行。

© www.soinside.com 2019 - 2024. All rights reserved.