2015-03-03 1 views
0

Я бегу приложение Java на сервере окна (32-бит, 12GB RAM) с -Xmx8g и я получаю сообщение об ошибке говорящееJava Invalid Максимальный размер кучи для Windows Remote Desktop

Недопустимый максимальный размер кучи. Указанный размер превышает максимально отображаемый размер.

Но то же приложение работает на моей локальной машине (64-бит, обоюдного 7, 6GB RAM) с той же -Xmx8g команды.

У меня нет возможности изменять ОС сервера. Есть ли возможное решение?

ответ

2

С 32-битовыми окнами адресное пространство не может превышать 4 ГБ. По умолчанию половина этого зарезервирована для ОС, поэтому максимальная доступная память для JVM составляет 2 ГБ. Зарезервируйте некоторые для стека и другой собственной памяти, а максимальный размер кучи в итоге составит около 1,5 ГБ.

Использование /3G -switch для Windows может увеличить этот предел на 1 ГБ (поскольку он ограничивает OS-хранилище до 1 ГБ), но это все, что является максимальным, что возможно в 32-разрядной ОС (и с 32 -битная JVM вообще).