170 похожих чатов

Всем привет. Сталкивался ли кто-нибудь с тем, что pm2 не рестартит

скрипт после OOM?
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
В логе... а pm2 при этом вообще ничего не сделал

14 ответов

33 просмотра

Есть тут люди, кто в pm2 шарит и может помочь? Вопрос до сих пор не решен... ☝️

Илюша 🎂
пофиксить утечку?

нет, понять, почему pm2 не рестартит

Если бы все писали идеальный код, то в pm2 не было бы нужды. А его придумали как раз для подобных вещей 😉

Михаил Приложения для доставок
Если бы все писали идеальный код, то в pm2 не было...

проблема скорее всего не в пм2. у тя где то код протикает

Anton
проблема скорее всего не в пм2. у тя где то код пр...

Да понятно, что он протекает и проблема уже решается... Я спрашиваю не про проблему в коде, а про проблему в PM2. Почему он не перезагрузился. Если знаете более хорошее решение для продакшн-серверов, напишите... но писать то, что код должен быть идеальным в наше время — ну уже слишком... Неужели вы реально всегда без багов пишете код? Что прям сразу запускается и ни одного лишнего байта в памяти не потребляется? Нагрузка на ЦП оптимальная и никто не может ваш код улучшить? И даже если так... вы уверены, что все библиотеки, которые вы подключили в коде написаны такими же идеальными программистами? У вас прям нулевая вероятность, что код безошибочно работает? Поздравляю. Но у меня ситуация другая. Сегодня сервер не перезагрузился из-за вылета по памяти. И мне совершенно пофиг, кто из программистов накосячил, когда и зачем... и мне пофиг, что можно потратить N времени на решение этой проблемы. Мне важно сделать так, чтобы эта проблема не мешала конечным клиентам получать ценность продукта. И я при этом не надеюсь на идеальный мир и понимаю, что везде есть проблемы. И еще раз повторюсь... системы управления процессами типа supervisor, pm2 и прочих создавались как раз для таких людей как я, кто не верит в идеальных программистов.

Михаил Приложения для доставок
Да понятно, что он протекает и проблема уже решает...

не перезагрузился вероятно потому что он сам на ноде работает, а если хип забился он не сможет работать.

Илюша 🎂
докер.

👍🏻 Вполне возможно

Anton
не перезагрузился вероятно потому что он сам на но...

А разве нода (или pm2) не должны хип разделять между процессами?

Михаил Приложения для доставок
Да понятно, что он протекает и проблема уже решает...

1. Нужно смотреть лимит памяти на процес, может у вас стоит лимит который не может быть предоставлен всем процессам + самому пм2 (пример: на машине 16гб, запущено 8 процессов у каждого лимит 2гб - скорее всего крашнется всё вплоть до пм2 поскольку не будет хватать физически памяти) 2. Какая политика перезапуска приложения , может просто не установлен конфиг для перезагрузки процеса 3. Падвающие по памяти процессы плохая практика перезапускать - если у вас в процессинге есть данные, они потеряются, что приведёт к неконсистентности. 4. Есть более простая обёртка forever - она тупо будет ребутать упавший процес

Artem
1. Нужно смотреть лимит памяти на процес, может у ...

forever был до pm2 😊 Как я уже писал, до сегодняшнего дня pm2 не подводил

Artem
1. Нужно смотреть лимит памяти на процес, может у ...

3. У нас текущий стейт всегда персистится куда-нибудь, поэтому проблем с перезапуском нет.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта