当批次已经免费时,Java会分配更多的RAM

时间:2015-02-21 10:06:49

标签: java garbage-collection arguments server ram

请注意:这适用于Minecraft服务器。

在Java中,我可以指定哪些选项使Java不会分配RAM ,直到所有空闲RAM都被填满?

这是我目前使用的RAM的图片:

Allocated Memory: 1458MB
Free Memory: 514MB
Totaly Memory: 4062MB

任务管理器说Java正在使用1458MB的RAM,这就是问题所在。服务器只使用944MB(1458-514),我想要一种方法来尽可能降低内存使用率,直到空间被填满。

目前的论点:-server -Xincgc -Xms512M -Xmx4096M -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -jar cauldron.jar nogui

1 个答案:

答案 0 :(得分:1)

您正在使用-Xmx4096M参数,该参数允许JVM分配最多4096MB的内存。 如果您想减少系统中的内存使用量,则应减少此值。

来自java tool文档:

  

-Xmxsize

     

指定内存分配池的最大大小(以字节为单位),以字节为单位。该值必须是1024的倍数且大于2 MB。附加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节。默认值是在运行时根据系统配置选择的。

     

-Xmx选项相当于-XX:MaxHeapSize。