заставить 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

Но это не помогает, у меня все еще есть ситуации, когда много неиспользуемой памяти.

Ответы на вопрос(1)

Ваш ответ на вопрос