В настоящее время я использую sun java 1.6 на кластере SL4.Где по умолчанию размер кучи JVM, определенный на linux (SL4)
По некоторым причинам, 1,6 виртуальной машины Java начинается с невероятно большой куче, и не может начать:
java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
Если я запустить его с, например, -Xmx1800M, тогда он работает нормально. Итак, мне интересно, где установлен размер кучи по умолчанию, и что еще более важно, как его изменить?
Аппарат имеет 8 ГБ физической памяти, и я считаю, что сервер Sun JVM должен начинать с по умолчанию половины памяти до 512 М, но это явно не так, поскольку он пытается выделить более 1800 МБ.
EDIT: Я понимаю, что можно использовать _JAVA_OPTIONS, но это кажется немного неуклюжим; Я ожидал файл свойств где-то, но до сих пор я не смог его найти.
32 или 64 бит VM? VPS? 64-битная ОС? Помогает ли это? http://forum.openvz.org/index.php?t=msg&goto=7057 – cletus
> uname -a Linux eddie004 2.6.18-128.7.1.el5 # 1 SMP Mon Aug 24 08:12:52 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux я получаю такое же поведение с или без -d64 (и -Server): > Java произошла -d64 -версия Ошибка при инициализации VM не удалось зарезервировать достаточно места для объекта кучи не удалось создать виртуальная машина Java. Ссылка была хорошая; Я думаю, это должно быть потому, что у машины есть 8G физическая память, но каждому пользователю разрешено только 2G, и это как-то путает JVM в поведении по-разному с спецификацией. –
Извините, этот комментарий был плохо отформатирован. Это 64-разрядный os, использование -d64 не имеет никакого значения, не делает -server. Возможно, это связано с машиной с 8G, но ограничение пользователей на 2G –