заставить jvm вернуть собственную память [duplicate]
This question already has an answer here:
JVM sending back memory to OS [duplicate] 3 answersВремя от времени я выполняю задачи по затмению, которые требуют очень большого объема памяти. Итак, jvm во время выполнения задачи проглатывает около 2-3 ГБ ОЗУ, это нормально. Но как только jvm занял эту память, он не освобождает ее, и у меня возникает ситуация, когда используемая память в куче составляет около 200 МБ с общим размером кучи около 3 ГБ, и это действительно нежелательно, поскольку другие программы испытывают недостаток памяти.
Я старалсяMax/MinHeapFreeRatio
параметры, чтобы заставить jvm уменьшить потребление неиспользуемой памяти. Это мое затмениеconfig.ini
файл:
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-vm
c:/Program Files/Java/jdk1.6.0_26/bin/javaw.exe
-showlocation
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Duser.name=Michael Nesterenko
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx4096m
-XX:MinHeapFreeRatio=10
-XX:MaxHeapFreeRatio=30
Но это не помогает, у меня все еще есть ситуации, когда много неиспользуемой памяти.