Ошибка компиляции java

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
helen80
Posts:21
Joined:06 October 2011, 19:48
Ошибка компиляции java

Post by helen80 » 13 January 2014, 20:07

Добрый вечер, еще раз,
ejudge 2.3.27 не могу побороться c ошибкой компиляции java
Ядро 2.6.38.8 пропатченное

отчет компиляции
"javac" -source 1.7 -Xlint:unchecked a_b.java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

странно то, что при выполнении скрипта компиляции javac в консоли (/home/judges/compile/scripts/javac a_b.java a_b.jar) все собирается нормально.
Пробовала в контесте задать mx_vm_size 64M и 128M, все равно не помогает

ulimits -a -S из лога компиляции при vm limit 100M
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) 32768
pending signals (-i) 28288
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 28288
virtual memory (kbytes, -v) 102400
file locks (-x) unlimited

Прошу прощения, вопрос снимается!!! Удалось избавиться от ошибки удалением всех дефолтных значений compile_max_vm_size из конфигов сервера

dk
Posts:129
Joined:25 March 2006, 19:37
Location:Москва, школа 179
Contact:

Re: Ошибка компиляции java

Post by dk » 17 January 2014, 08:12

Вы перемудрили.

Нужно просто дать компиляторам больше памяти в настройках контеста.

http://www.ejudge.ru/wiki/index.php/Ser ... ax_vm_size
http://www.ejudge.ru/wiki/index.php/Ser ... stack_size

helen80
Posts:21
Joined:06 October 2011, 19:48

Re: Ошибка компиляции java

Post by helen80 » 17 January 2014, 10:07

я пробовала, вплоть до 1 Gb, ничего не помогало

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Ошибка компиляции java

Post by cher » 17 January 2014, 12:16

Судя по всему, java7 при старте на x86 пытается захватить 1900M памяти. Поэтому и лимит памяти следует установить примерно в эту величину.
Совсем убирать его плохо, так как компилятор C++ на некоторых программах может съедать всю отведенную память, что может вызвать нежелательные эффекты в системе.

Post Reply