У меня есть сервер Citrix, на котором несколько пользователей используют несколько приложений Java. Есть ли способ уменьшить объем памяти, занимаемый самой jvm?
Максимальная куча уже установлена довольно низко (64 МБ), так как пространство permgen (32 МБ), и мы пришли к тому, что сам jvm использует намного больше памяти, чем само приложение (зафиксированная область составляет около 350 МБ)
Я ищу способ уменьшить использование jvm ram или заставить все приложения работать в одном jvm или любом другом способе совместного использования общих страниц между запущенными jvm (если возможно) или попытаться переключиться на jvm, если jvm существует с оптимизацией относительно этого сценария
в настоящее время используется сервер Windows 2003 и виртуальная машина Sun Java 1.6
Если это многопоточное приложение, возможно, контроль размера стека потоков также может помочь, если количество потоков достаточно? Размер стека ниток контролируется с помощью -Xss
. Кроме того, вы уже профилировали код?