LINUX.ORG.RU
ФорумTalks

Жаба ест память

 , ,


0

3

Есть сервер. На нём крутятся PostgreSQL, Mongo, самописные числодробильные микросервисы, Keycloak и ActiveMQ, через который они все координируются. Когда пользователей много, запускается много экземпляров микросервисов. Память подходит к концу.

Вопрос: угадайте, кого прибьют первым по OOM?

Ответ: ActiveMQ (1G), затем Keycloak (500M). Все остальные потребляют меньше памяти.

★★★

Последнее исправление: olegd (всего исправлений: 1)

Вопрос: угадайте, кого прибьют первым?

oom_score_adj (в юнитах - OOMScoreAdjust)

router ★★★★★
()

Есть сервер. ActiveMQ (1G), затем Keycloak (500M). Все остальные потребляют меньше памяти.

у вас на RaspberryPi этот сервер?

FishHook
()

Вопрос: угадайте, кого прибьют первым?

Mongo? Ведь эта скотина жрёт как не в себя. Там же жабаскрипт под капотом и написано индусами.

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

у вас на RaspberryPi этот сервер?

320 процессов по 100М забьют 32G. А сервер не в продакшене, а тестовый.

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

числодробильные микросервисы

Смузи идёт в комплекте?

Говорят, первая версия этого кода писалась на Турбо Паскале с ассемблерными вставками и самописным менеджером памяти.

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

Ну так перепишите обратно на поскаль

ActiveMQ и Keycloak?

Это могут не только лишь все. Только firkax.

Dimez ★★★★★
()

Это сервер в детском саду для особенных детей? Плашка оперативы 16 гиг стоит 4 тысячи рублей.

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

Тупой вопрос, но не писал ли этот код парень со слуховым аппаратом? Я помню одного, мы на олимпиаду вместе ездили, он хотел написать ОС на паскале.

Tark ★★
()
Ответ на: комментарий от ya-betmen

Нет, он приходит раньше джунов на работу и не даёт им занять своё место.

cocucka_B_TECTE
()
Ответ на: комментарий от Tark

со слуховым аппаратом?

Вроде, таких не было.

он хотел написать ОС на паскале.

В те времена таких было много. Minix и Linux вдохновляли многих.

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

Вангую, что этим перекладывающим жисоны из постгреса в монгу хипстерам и называющим это числодробилкой, ни activemq, ни keycloak как таковой и не нужен. Там и микросервисы-то не нужны.

Если у них тестовый сервак подыхает, то какой там месячный счёт за прод я даже представлять не хочу.

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

называющим это числодробилкой

Числодробилка – это поиск экстремумов на наборе 2-мерных массивов по 10 000 х 10 000 точек, с отсевом шумов и мусора.

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

что вам 320 процессов чего-то там понадобилось

Происшествие из серии «уронил валенок на клавиатуру».

olegd ★★★
() автор топика

Вопрос: угадайте, кого прибьют первым?

Ответ: <...> Все остальные потребляют меньше памяти.

Тут можно гадать только если первый раз про OOM услышал.

micronekodesu ★★★
()

Жаба ест память

С разморозкой.

...кого прибьют первым?

Тебя.

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

Тут можно гадать только если первый раз про OOM услышал.

В соревновании участвуют C++, Джава, Джаваскрипт, Фри-паскаль (или Дельфи), Дотнет. Победила Джава. Я ставил на дотнет. Вышеотписавшийся foror – на джаваскрипт.

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

Ява только раздаёт токены и сообщения. Как это сделать через графический ускоритель? :)

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

Какая разница какой язык?

Аааа, погоди, викторина не про «если на сервере заканчивается память то какой процесс первый кильнут» а про «угадайте кто из всей этой кампании жрет больше всего памяти»?!

Яб тоже на джаву ставил если что...

micronekodesu ★★★
()
Последнее исправление: micronekodesu (всего исправлений: 1)

А зачем ты на OpenJDK запускаешь? Скачай Open J9 с aot и запускай в нём. В 2-3 раза меньше будет есть.

Shadow ★★★★★
()
Ответ на: комментарий от ya-betmen

8*10^8 это меньше гига выходит.

На один процесс. Поэтому подгружаются по частям.

И почему же у вас там активмку помирает то?

Не знаю. Эти данные гоняются не через него. Через него на каждое действие проходит всего несколько сотен байт.

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

Погуглил. Нашёл много багов ActiveMQ, проявляющихся только на OpenJ9 :)

Но да, надо будет попробовать.

olegd ★★★
() автор топика

Жаба ест память

Никогда такого не было, и вот опять

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

поиск экстремумов на наборе 2-мерных массивов по 10 000 х 10 000 точек, с отсевом шумов и мусора.

Фоточки жабой тяпаем, по процессу на запрос, понятненько.

HE_KOT
()

ActiveMQ

Если вам не нравится ActiveMQ, возможно вам следует перейти на Kafka. После этого мнение про ActiveMQ может значительно улучшиться.

ugoday ★★★★★
()

угадайте, кого прибьют первым

Того кому скор при оом не подкрутили?

upcFrost ★★★★★
()

А поставить ограничения на количество spawned микросервисов?

Или на уровне библиотеки или на уровне app-manager

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

Там где Кафка нужна, она обычно создается парой кнопок в Web UI.

А если требуется стадо одминов на каждый инстанс, то вам наверное и не нужно.

grim ★★☆☆
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)