我有一個關於Java Web應用程序內存使用量的問題..關於Java應用程序的內存使用情況
在任務管理器,Tomcat服務似乎佔據的內存
在jvisualvm,內存使用字節這在Tomcat下部署Java應用程序如下:在Tomcat的Service.bat文件
Heap:
Used: 2,304,233,184 B
Size: 8,589,934,592 B
Max: 10,737,418,240 B
Permgen:
Used: 80,272,056 B
Size: 536,870,912 B
Max: 536,870,912 B
內存參數:
-Xms8192m;-Xmx10240m;-XX:PermSize=512m;-XX:MaxPermSize=512m
現在,我的問題是無論我設置MaxHeapFreeRatio的自由空間是不是縮小,即使使用的空間有時縮小。
任何人都可以告訴我爲什麼這是這樣的行爲..有沒有辦法縮小可用空間,以便在系統上運行的其他進程可以利用它?
我使用JDK 1.7 &的Tomcat 7
謝謝Mikaveli ..你的迴應提供了很好的記憶信息。我肯定會減少最小內存的大小,並嘗試..但我的問題是如何使操作系統釋放未使用的內存有效(沒有任何問題),以便其他進程可以使用它.. – vivek4348
一旦它被分配堆空間(高達' -Xmx'),它通常不會將內存釋放回操作系統。相反,只是儘量不要分配超過你的應用程序將使用 - 在你的情況下,你分配6 - 8 GiB多於必要的,這可能被其他進程使用。 – Mikaveli
昨天我經歷了一些文章..你是對的..它不會將內存釋放回操作系統。感謝您的幫助.. – vivek4348