Я пытаюсь использовать java в среде, где виртуальная память ограничена 2 ГБ на ulimit -v 2000000
, но я получаю ошибки памяти. Запуск java -version
в этой среде дает:
$ java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Независимо от того, насколько низко я установил -Xmx
, я не могу заставить Java работать в этой среде. Однако, если ulimit -v
установлено на 2,5 ГБ, то я могу установить -Xmx
на 250 м, но не выше.
$ java -Xmx250m -version
java version "1.7.0_19"
OpenJDK Runtime Environment (rhel-2.3.9.1.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
$ java -Xmx251m -version
#
# There is insufficient memory for the Java Runtime Environment to continue.
# pthread_getattr_np
java version "1.7.0_19"
OpenJDK Runtime Environment (rhel-2.3.9.1.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)# An error report file with more information is saved as:
# ~/hs_err_pid12079.log
Можно ли использовать java в среде, где ulimit используется для ограничения виртуальной памяти?
top
показывает более 7 ГБ свободной оперативной памяти, и я могу запускать программы на Python и C/C++, которые выделяют память до 2 ГБ. - person Barry Hurley   schedule 11.11.2013ulimit -v 2000000
, а неulimit -v 200000
? - person Holger   schedule 11.11.2013