![如何将 Java 进程限制在一定数量的 RAM 内?](https://linux22.com/image/1289924/%E5%A6%82%E4%BD%95%E5%B0%86%20Java%20%E8%BF%9B%E7%A8%8B%E9%99%90%E5%88%B6%E5%9C%A8%E4%B8%80%E5%AE%9A%E6%95%B0%E9%87%8F%E7%9A%84%20RAM%20%E5%86%85%EF%BC%9F.png)
我正在尝试将 Minecraft 限制在一定内存量。为此,我使用以下行从批处理文件中启动它:
javaw -Xms256M -Xmx256M -cp Minecraft.exe net.minecraft.LauncherFrame
但它通常会超过 800 MB。
我还尝试转到控制面板中的 Java 小程序。然后转到 Java 选项卡/视图...,然后添加以下运行时参数:
-Xmx256m
那也没什么帮助。
我该怎么做才能将 Java 进程(或者至少是 Minecraft)限制为 256 MB 的 RAM。
答案1
-Xmx
仅限制 Java 堆。代码本身、JVM、OS DLL、内部 Java 数据结构和线程堆栈均占用额外内存。就您而言,它们显然占用了超过 550 MB 的 RAM。没有堆设置会将总内存量控制在 256 MB 以下。
但请注意,代码部分可能在进程间共享。在您的进程中使用 5 MB RAM 的 DLL 通常会在另一个进程中使用相同的 5MB RAM。