【问题标题】:Xms option impact on memory usageXms 选项对内存使用的影响
【发布时间】:2013-03-13 14:38:40
【问题描述】:

当我在 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 

可能是什么原因?

【问题讨论】:

  • 一个不只是告诉JVM要使用多少内存,一个可能只是建议。
  • 另外,你为什么不测量实际的java进程消耗了多少内存呢?

标签: java tomcat memory-management


【解决方案1】:

这是因为我想象 Linux 内核如何分配 RAM。我的理解可能有缺陷,虽然您可以请求一大块 RAM,但在虚拟内存子系统对其进行处理(即它实际上已被写入)之前,它实际上可能不会被视为已使用。

因此,您看到的不同之处在于垃圾收集运行的阈值发生了变化,因此利用率略有不同。如果您开始在 RAM 中存储更大的数据集,您会发现更大的差异。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2010-09-06
  • 2013-09-20
  • 2018-06-15
  • 1970-01-01
  • 2016-06-27
  • 2017-10-03
  • 2015-11-06
  • 1970-01-01
相关资源
最近更新 更多