我的問題是作爲標題,我通過搜索得到了一些知識:爲什麼JVM消耗的內存少於指定的-Xms?
Linux有共享內存 How to measure actual memory usage of an application or process?
JVM將預留的內存X毫秒 What does the -Xms JVM mean in reference to heap memory?
設置好的量
但還是不知道爲什麼,有的可以提供一些幫助?
這是我在Ubuntu12.04(64bit)上的測試運行| JDK 1.7.0_04。以下頂部顯示:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4067 brian 20 0 5316m **262m** 7496 S 0 3.3 0:00.30 java -**Xms4096m** -Xmx4096m Test
4066 brian 20 0 3182m **256m** 7496 S 0 3.3 0:00.30 java -**Xms2048m** -Xmx2048m Test
4065 brian 20 0 2114m **252m** 7492 S 0 3.2 0:00.30 java -**Xms1024m** -Xmx1024m Test
4064 brian 20 0 1314m **76m** 7584 S 0 1.0 0:00.20 java -**Xms256m** -Xmx256m Test
4063 brian 20 0 1180m **51m** 7608 S 0 0.7 0:00.21 java -**Xms128m** -Xmx128m Test
正要問「爲什麼交換使用,即使我的記憶豐富」。並從你所附的網址得到答案......謝謝! –
那麼什麼時候RES內存會長大xms?我有一個xms和xmx = 6g的進度,在啓動後,RES是4g,一天之後它是5.9g,但是當我轉儲堆時,它只有3.9g。那麼,即使內存中使用的對象不需要那麼多,jvm會在需要xms時繼續消耗內存。 – Jaskey