2017-01-31 4 views
0

Я получаю сообщение об ошибке при запуске приложения с ПользовательА, которые превышающей 1800Mb куча, но то же самое приложение отлично работает с USERB,явы распределение вороха: ошибка при инициализации VM для другого пользователя

Вот сказал, ниже командные работы по Пользователь , но для USERB есть ошибка

java -Xmx2048m -jar App 

ошибка: ошибка при инициализации VM не удалось зарезервировать достаточно места ВМ не удалось создать виртуальную Java-машину

+2

Имеет ли пользовательский интерфейс Java 32-разрядную установку? – Kayaman

+0

Если вы используете 32-разрядную JVM, размер вашей памяти ограничен количеством OS. Это может быть до 3 ГБ в Unix, но до 1,2 ГБ в Windows. –

ответ

0

Для пользователя Вы можете проверить доступную свободную память для выполнения? Это можно сделать, проверив free -m на Linux или вы можете проверить, какие другие приложения/процессы потребляют ресурсы, используя команду top.

В окне, которое вы можете проверить с помощью диспетчера задач.

+0

оба пользователя находятся в unix. Спасибо за ответ. Есть ли возможность изменить настройки, кроме процессов убийства? – OKie

+0

Простой сценарий оболочки для получения свободной памяти и добавления проверки на основе порога. запустить java-процесс из сценария оболочки с использованием аргументированных аргументов памяти Простым способом извлечения свободной памяти может быть free -m | awk '{print $ 3}' | голова -2 | tail -1 –

+0

спасибо. Любые другие команды могут помочь, кроме верхней и свободной? кажется, топ/бесплатно недоступны, но vmstat и sar -r работают (я использую старый солярис с ограниченными командами £ – OKie