LINUX.ORG.RU

Java, heap, память и подземный стук

 ,


0

2

Есть сервак (4Гб), на серваке запущен один процесс fop-а, с параметрами

java -Xmx512m -Xms256m -jar fop.jar org.apache.fop.cli.Main

на любую попытку запустить еще какое либо java приложение сразу рубит

$java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

С явой плотно не работал, но всегда считал что у разных запусков явы раздельный heap.

Собственно вопрос - почему такое может произойти - что собственно этой яве не хватает ? shared memory вроде еще наволом

#ipcs -mu
------ Состояние совм. исп. памяти --------
выделено сегментов 3
выделено страниц 243904
резидентных страниц 243878
страниц свопа 26
Производительность свопа: 0 попыток      0 успехов
★★

Или не наволом ... а всего 26 ... бррр

TEX ★★ ()
# free -m
             total       used       free     shared    buffers     cached
Mem:          3832       3689        142          0        248       1394
-/+ buffers/cache:       2046       1785
Swap:         2047         75       1972
TEX ★★ ()

ipcs выдаст только SysV объекты, поэтому забудь про неё.

UVV ★★★★★ ()

Запусти с параметрами памяти аля java -Xmx512m -Xms256m и посмотри запустится или нет.

Так же запусти от другого пользователя, может тупо ulimit -v переполняется.

vtVitus ★★★★★ ()
Последнее исправление: vtVitus (всего исправлений: 1)
Ответ на: комментарий от vtVitus

Запусти с параметрами памяти аля java -Xmx512m -Xms256m и посмотри запустится или нет.

Уже пробовал - один фиг.

Лимитов нет, пишет unlimited

Не смог больше ждать, убил первый процесс, заработало. Но что было такое до сих пор не непонятно :(

TEX ★★ ()

Может у тебя какой-нибудь ускорятор запуска жавы стоит? Типа, на самом деле не отпускает жвм между перезапусками, держит горячей. Внимаааательно глянь, чем в самом деле является твоя жаба.екзе

stevejobs ★★★★☆ ()

Собственно вопрос - почему такое может произойти

система не может выдать процессу столько памяти - исчи почему.

dzidzitop ★★ ()
Ответ на: комментарий от TEX

Лимитов нет, пишет unlimited

Надеюсь ты смотрел вывод

ulimit -a

anonymous ()
Ответ на: комментарий от nerh
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.11.90) (rhel-1.62.1.11.11.90.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
TEX ★★ ()
Ответ на: комментарий от stevejobs

Нет установлено никаких ускоряторов и не было никогда

TEX ★★ ()
Ответ на: комментарий от anonymous
$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30510
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) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
TEX ★★ ()
Ответ на: комментарий от dzidzitop

Это и так понятно, вот только памяти было еще завались. Даже своп еще не весь заюзан.

TEX ★★ ()
Ответ на: комментарий от dzidzitop

Плюс, другим процессам память отчего то спокойно выделяется. Сервер спокойно работал, а вот ява нет.

TEX ★★ ()
Ответ на: комментарий от TEX

IcedTea6

У меня с этим (из 6 демьяна) было несколько моментов с непонятным поведением на нашем энтерпрайзе, перешёл на sun java, стало усё ок. может в вашем случае тоже вариант.

vtVitus ★★★★★ ()

что собственно этой яве не хватает ?

жаба сэр!

quest ★★★★ ()
Ответ на: комментарий от TEX

Какая же это древность. Что вас удерживает от перехода на JDK 7?

iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

Да ничего в целом. 6-ка ставится по умолчанию из базового репа, и до вчерашнего дня подобных проблем с ней не было. 7-ку нужно ставить принудительно. Думаете это решит проблему ?

TEX ★★ ()
Ответ на: комментарий от TEX

6-ка ставится по умолчанию из базового репа

JDK 6 официально уже не поддерживается никем, кроме Red Hat.

7-ку нужно ставить принудительно. Думаете это решит проблему ?

Думаю, часть проблем точно решит. По крайней мере будет уверенность, в чём именно проблема: в JDK или где-то в другом месте (приложение, ОС, конфигурации).

iZEN ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.