Задать вопрос
@dailysse

Как очистить память?

Доброго времени суток.
var y = [];

let a = setInterval(() => {
	let b = 176400*10 / 1024 / 1024 / 1024;
	y.push(Buffer.allocUnsafe(176400*10).fill('a'));
	if (y.length>=1000) {
		clearInterval(a);
		y.forEach((value, key) => {
			delete y[key];
		});
		y = [];
	}
}, 3);


Как очистить память после создания буферов?
  • Вопрос задан
  • 183 просмотра
Подписаться 1 Простой Комментировать
Ответ пользователя RidgeA К ответам на вопрос (2)
@RidgeA
Очисткой памяти должен заниматься GC.
В приведенном примере очистка памяти происходит после `delete y[key]` (точно сказать когда это происходит нельзя - это свойство GC).

Вот тут есть обсуждение этого вопроса https://github.com/nodejs/node-v0.x-archive/issues/2995 и ссылка на модуль для очистки памяти из-под буферов, но ИМХО, если есть потребность в таком модуле, то что-то пошло не так архитектурно. Надо оптимизировать работу с памятью, или, если нет возможности, увеличить лимит выделяемой памяти (если, конечно, система позволяет).
Ответ написан
Комментировать