У нас есть продукт, который в настоящее время работает на 32-разрядной версии 1.6 JRE.Мы используем Berkeley DB, который потребляет около 2,5 ГБ ОЗУ из 4 ГБ адресного пространства.Это оставляет нам около 750 МБ памяти для адресного пространства JVM.
В настоящее время мы сталкиваемся с проблемами OutOfMemory в текущей настройке.Было бы неплохо увеличить размер кучи JVM до 1,5 ГБ, сохранив при этом 2,5 ГБ для Berkeley DB.Есть ли способ получить доступ к более чем 4 ГБ ОЗУ / куче в 32-разрядной JVM?Я рассмотрел следующие решения
1) использовать JVM, которая делает лучше GC - это даст мне незначительные результаты - я мог бы получить около 50-100 МБ рабочей памяти
2) что-то вроде memcached или "out"of process ehcache "- это может дать мне столько, сколько позволяет аппаратное обеспечение с накладными расходами IPC / сериализации.
Существуют ли другие решения для увеличения адресуемой памяти приложения?
Решение должно работать на Solaris 10. Работает sparc.
* ОБНОВЛЕНИЕ: из-за использования собственных разделяемых библиотек, сейчас мы не можем перейти на 64-битную JVMхотя ОС 64-битная *
спасибо,