Xms选项会影响内存使用

时间:2013-03-23 21:38:50

标签: java tomcat memory-management

当我在tomcat上增加-Xms值时,内存使用量(来自free -m命令)不会相应地改变。下面的示例显示,将值增加 200MB 仅会影响内存使用量 ~85MB

... usr / lib / jvm / jre / bin / java - Xms128m -Xmx128m -XX:PermSize = 128m -XX:MaxPermSize = 128m ...

$ free -m
             total       used       free     shared    buffers     cached
Mem:           594        341        253          0          7        104
-/+ buffers/cache:        229        365
Swap:            0          0          0

... / usr / lib / jvm / jre / bin / java -Xms328m -Xmx328m -XX:PermSize = 128m -XX:MaxPermSize = 128m ...

$ free -m
             total       used       free     shared    buffers     cached
Mem:           594        426        167          0          7        104
-/+ buffers/cache:        314        279
Swap:            0          0 

可能是什么原因?

1 个答案:

答案 0 :(得分:1)

这是因为我认为Linux内核会分配RAM。这可能是我可能有缺陷的理解,虽然你可以请求一大块RAM,但在虚拟内存子系统对它做任何事情之前(实际上它已被写入),它可能实际上并没有被考虑使用。

因此,您看到的差异是垃圾收集运行的阈值已经改变,因此利用率略有不同。如果你开始在RAM中存储更大的数据集,你会发现更大的差异。