为 Windows 系统上的所有用户定义 Java 堆大小

Defining Java Heap Size for All Users on a Windows System

我对 Java 比较陌生,我们是 运行 Java 8 JRE Update 211 32bit on Windows 10 PC and Server 2019 我正在尝试定义堆所有登录 PCs/Servers.

的用户的大小

我知道 Java 已过时,但应用程序提供商已建议使用 Java,并且我们的网络已关闭并真正锁定。

我做了一些谷歌搜索,你似乎可以在 Deployment.properties 文件(位于 C:\Windows\Sun\Java\Deployment)中定义它,目前我有这个:

deployment.javaws.jre.0.args=-xms1024M

deployment.javaws.jre.0.args=-xmx3072M

deployment.javaws.jre.0.args=-xmn512M

我知道在 32 位系统上最多可以定义 2GB。

我找不到任何 Java 论坛或有关这些命令的帮助 我在互联网上找到了一些并进行了调整 我想知道上面这些是否正确?

我们已从应用程序端 (Cramer) 得知堆大小已增加一倍,但仍收到此消息。

编辑添加:

无法从 Java 控制面板执行此操作,因为系统选项卡区域显示为灰色:

还有运行命令:

javaw -XX:+PrintFlagsFinal |找到“MaxHeapSize”

javaw -XX:+PrintFlagsFinal |找到“InitialHeapSize”

发现 Java 没有拾取 deployment.properties 文件中定义的更改:

我认为上面输出的数字是以字节为单位的,将它们转换为 MB 与我定义的值不匹配。

我猜您已经通过安装程序在系统中安装了 JRE。 如果是这种情况,请转到“控制设置”并 select 显示小图标:

您有 java 设置。单击它,您将看到 JRE 的设置 window。转到 Java 选项卡,然后单击显示。

在运行时参数上添加您需要的参数(例如 -Xmx3072M)。您可以选择是为用户还是为整个系统(因此是选项卡)执行此操作。

我想通了

所以,我做的第一件事就是删除我添加到 deployment.properties 文件中的堆大小定义。

我必须创建一个名为的系统变量:

Variable name: _JAVA_OPTIONS

Variable value: -Xmx512M

此外,必须添加到 PATH 变量 Java bin 文件夹位置:

C:\Program Files (x86)\Java\jre1.8.0_211\bin

然后重启服务器,当我输入以下命令时:

javaw -XX:+PrintFlagsFinal |找到“MaxHeapSize”

然后我看到所有用户的最大堆大小都设置为 512MB,这正是我想要实现的。

我不想开始弄乱初始堆大小设置,因为这会导致一些问题。

现在我可以预见我需要解决的另一个问题是如何为 32 位和 64 位 Java 在一个操作系统上的安装定义不同的最大堆大小。