Рейтинг:1

Есть ли в Ubuntu 20.04 LTS верхний предел памяти для процессов Java?

флаг us

У меня такая проблема: есть сервер с Ubuntu 20.04.1 LTS и приложение JDK 8. Машина имеет 256 ГБ памяти.

В настоящее время JVM запускается с аргументами -Xms25g -Xmx25g, однако я хочу, чтобы JVM использовала 32 г или даже больше, и я хочу сразу установить размер, чтобы он был зарезервирован и не вычислялся во время выполнения.

Если я запускаю JVM с -Xms32g -Xmx32g вылетает после запуска, с 25gb - нет.

JVM записала дамп ошибок, начиная с

#
# Средой выполнения Java обнаружена фатальная ошибка:
#
# SIGSEGV (0xb) по адресу pc=0x00007fe590e47acb, pid=778060, tid=0x00007fdd5d090700
#
# Версия JRE: среда выполнения OpenJDK (8.0_282-b08) (сборка 1.8.0_282-8u282-b08-0ubuntu1~20.04-b08)
# Java VM: OpenJDK 64-битный сервер VM (25.282-b08 смешанный режим linux-amd64)
# Проблемный кадр:
# V [libjvm.so+0x87dacb]
...

В противном случае ни в каких журналах, которые я проверял, нет исключений или ошибок.

Поэтому мне интересно, есть ли где-то предел, о котором я не знаю?

guiverc avatar
флаг cn
Вы спрашиваете об Ubuntu Core 20? или Ubuntu 20.04 LTS, так как 20 и 20.04 используются разными продуктами Ubuntu, и вы упоминаете оба.
флаг in
Опция `-xms` устанавливает начальный размер, но не является минимальной зарезервированной суммой, так как GC сократит выделенную память, если она может быть освобождена. `-xmx` устанавливает максимальный размер *кучи*, но это не ограничение памяти для JVM, которая может использовать намного больше, чем объем, выделенный только для кучи. Поскольку нет информации о том, что именно вы пытаетесь запустить, будет сложно предложить альтернативные номера. Тем не менее, эти два значения не обязательно должны совпадать. Подумайте о том, чтобы попробовать что-то вроде `-xms16g -xmx32g` и посмотреть, сохраняется ли исключение.
флаг us
Привет @matigo, неважно, что делает мое приложение. Может быть, он ничего не делает, но, тем не менее, я хочу дать ему 64 г, так почему это невозможно в Ubuntu 20.04 LTS?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.