В недавней проблеме с утечкой памяти мне пришлось немного глубже погрузиться в console.log(..) и сделать несколько интересных открытий.

Консольный вывод не отображается в инструментах профилирования

Весь вывод из console.log(..) хранится в одном и том же процессе узла, он учитывает использование памяти процессом, но вы не можете увидеть, сколько используется в инструментах профилирования узла. Поскольку узел использует консоль TTY по умолчанию на компьютерах с Unix. Единственный способ увидеть, сколько памяти он использует, — это использовать process.memoryUsage() или монитор активности, чтобы увидеть, сколько памяти он действительно использует.

Насколько я мог видеть, на машинах с Windows это не так, но я не углублялся в это.

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

console.clear() не очищает

Мне потребовалось некоторое время, чтобы понять это, но console.clear не освобождает память (изначально). Если вы посмотрите на код для console.clear(), они ничего не выпускают, они только перемещают курсор обратно на 0,0. Таким образом, выход остается прежним. Он удаляет все только после того, как вы попытаетесь что-то написать в ответ console.log('RELEASE') .

Основной урок

НИКОГДА НЕ ИСПОЛЬЗУЙТЕ КОНСОЛЬ ДЛЯ ВХОДА (если у вас нет альтернативы)

Источник:

https://github.com/nodejs/node/blob/74c2d9c8a36e473308383396ec064fb6e0fca83e/lib/internal/console/constructor.js