У меня проблема с моими серверами Solaris. Когда я запускаю процесс Sun Java с ограниченной памятью, он потребляет вдвое больше ресурсов.
Например, у меня на серверах 64 Go памяти. 1 на Linux, остальные на Solaris. Я запускал одинаковые программы на всех серверах (только Java).
При запуске серверов они занимали от 400 МБ до 1,2 ГБ ОЗУ. Я запускаю свой java-процесс (обычно от 4 до 16go на каждый java-процесс), и я не могу запустить более 32 Гб, определенных со значениями Xmx и Xmx. Я получил такие ошибки:
> /java -d64 -Xms8G -Xmx8G -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Как мы видим здесь, у меня много зарезервированной памяти, и она создается с помощью процесса Java:
> swap -s
total: 22303112k bytes allocated + 33845592k reserved = 56148704k used, 704828k available
Как только я убиваю их 1 на 1, я возвращаю зарезервированное место и могу запускать другие. Но на самом деле я не могу использовать больше половины своей памяти.
Кто-нибудь знает, как решить эту проблему?
Спасибо