设置Java堆大小不适用于256GB RAM 64位计算机

fus*_*hia 8 java memory heap-memory

我一直试图找到答案,但我仍然不能.

我有一台64位机器,256 GB RAM.

我正在尝试执行链接到MySQL的Java程序.它需要一个安静的大堆大小,因为当我-Xmx1024m在几分钟后使用VM参数时会弹出:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将程序VM参数设置为-Xmx2048m或更大时,它不起作用并说:

Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap
Run Code Online (Sandbox Code Playgroud)

我读到-Xmx204864位机器的设置不是问题,但我真的不知道为什么它不能在我的机器上工作.

java -version 输出: 在此输入图像描述

wmic OS获取FreePhysicalMemory/Value输出:

FreePhysicalMemory=251663664
Run Code Online (Sandbox Code Playgroud)

wmic computersystem获取TotalPhysicalMemory输出:

TotalPhysicalMemory
274811621376
Run Code Online (Sandbox Code Playgroud)

wmic os得到osarchitecture输出

OSArchitecture
64-bit
Run Code Online (Sandbox Code Playgroud)

我无法执行,systeminfo|find "Memory"因为它说错了语法.我也不确定为什么.

vap*_*p78 0

考虑以管理员身份运行您的应用程序 - 只需通过右键单击 -> 以管理员身份运行启动 PowerShell 控制台。

Windows 可能会拒绝向未提升运行的单个进程授予大量内存。

另外 - 您使用的是 Windows Server 还是 Windows 工作站版本?对于这种“大”的服务,一般建议使用Windows Server。