Что именно вы имеете в виду, моя "память сохранилась"?Я предполагаю, что вы имеете в виду память, выделенную самим процессом:
Куча не будет использовать больше, чем вы указали (кроме некоторой фрагментации, но это незначительно).«Другие объекты» в этом процессе используют это пространство, хотя может быть что-то не так со смолой или JVM, особенно, если память постоянно увеличивается в течение недель, объем памяти, используемой смолой и HVM, также может быть нормальным.
Посмотрите на мою попытку ответить на другой похожий вопрос:
Потребление памяти JVM вдвое больше размера кучи
Короче: убедитесь, что вы смотрите направильный размер процесса.Обычно я использую 1-1,5 ГБ пространства без кучи Java для смолы в 32-разрядной системе Debian (что, конечно, делает ваши 4 ГБ звучащими много).
Более того:
-Xss128k -XX: ThreadStackSize = 256
будет интерпретироваться как
-XX: ThreadStackSize = 128 -XX: ThreadStackSize = 256,
, поэтому вы можете удалить один из них ... (см. http://mail.openjdk.java.net/pipermail/hotspot-dev/2011-June/004272.html)