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

Всем привет. Есть клиентское приложение, которое загружает файлы по наступлению

некоторого события с сервера. В коде есть ряд оповещений через console.log(). При загрузке этой штуки в systemd в виде исполняемого скомпилированного файла, оно ест около 700МБ оперативки, а с закомментированными console.log() — в 10 раз меньше. Те, кто запускают, говорят, что, возможно, нода не делает flush при записях в стандартный поток вывода. Я бы не хотел убирать вообще все console.log() из приложения, подскажите, в чём может быть дело и куда копать? Я знаю, что под капотом Node.js использует в console.log() process.stdout.write(). Может ли мне помочь замена на этот метод моих console.log() ?

7 ответов

10 просмотров

А как в консоль попадают логи, когда ты деплоишь проект на какой-то сервис? Я думаю, тамошние дядьки знают как правильно это делать

А 700 мб это проблема? И как именно логи формируются? Может там большая строка по кусочкам нарезана, и потому gc не может её почистить

Aleksei-V. Автор вопроса
Kvhqm Mboe
А как в консоль попадают логи, когда ты деплоишь п...

Нет, там ПО на какую-то плату кладут (собирают бинарник самостоятельно, я не знаю, как, я у себя для теста собирал npm-пакетом pkg) и запускают в линуксе. Там просто дали 2 версии кода им: с console.log() и с закомментированными console.log(), они пересобрали 2 раза и сказали, что такая разница

Aleksei-V. Автор вопроса
Алексей Попов
А 700 мб это проблема? И как именно логи формируют...

Ну вообще нежелательно, там будет ещё одно более мощное ПО, которое не только качает файлы, и console.log() в ней тоже будут какие-то минимальные нужны. Да по идее там не сильно большая строка (ну может символов 150 максимум в паре мест, а остальное — короче). Всего там 2ГБ, но они говорят, что под их программы тоже нужна память, поэтому утверждают, что 700МБ — это много

Aleksei-V. Автор вопроса
Алексей Попов
А 700 мб это проблема? И как именно логи формируют...

Может быть там где-то был объект выведен. Я читал, что объекты лучше выводить в консоль JSON.stringify(), это так?

Aleksei V.
Может быть там где-то был объект выведен. Я читал,...

Проверь 🤷‍♂ У тебя есть исходники и возможность разобраться с задачей, у меня нет

Aleksei-V. Автор вопроса
Алексей Попов
Проверь 🤷‍♂ У тебя есть исходники и возможность ра...

Да это понятно, да, вопрос вообще был в том, куда стоит посмотреть, если не получится. В принципе, я понял, спасибо!

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта