0

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 

理由は何でしょうか?

4

1 に答える 1

1

これは、Linux カーネルが RAM を割り当てると私が想像する方法によるものです。RAM の大きなチャンクを要求することはできますが、仮想メモリ サブシステムがそれに対して何かを行う (つまり、実際に書き込まれる) まで、実際には使用されていると見なされない可能性があるというのは、私の理解に誤りがある可能性があります。

つまり、ガベージ コレクション実行のしきい値がシフトしたため、使用率にわずかな違いがあることがわかります。より大きなデータ セットを RAM に保存し始めると、より大きな違いに気付くでしょう。

于 2013-03-23T21:42:15.673 に答える