Гость
Map
Форумы / Серверный JavaScript (Node.js, Ringo, Nitro, Sling) [игнор отключен] [закрыт для гостей] / Javascript: по утечке памяти в NodeJs (jsdom модуль) / 2 сообщений из 2, страница 1 из 1
06.01.2012, 02:07
    #37603738
itwork
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript: по утечке памяти в NodeJs (jsdom модуль)
Всем привет,
недавно начал знакомиться с Нодом-Жс, особенно с модуля Jsdom. Штука очень удобная, но столнулся с учеткой памяти, причем погуглил и такая проблема есть во многих модулях. Так вот и задумался в чем дело, в самой платформе или в разработке на Javascript'e, пока не очень понятно для меня, разве недолжен ли с этим справлятся GarbageCollector? Или обязательно везде впихивать "delete object.property" или "object = null" (хотя, как увидил это тож неочень помогает)?

Вот код чтобы было нагладнее,

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
var httpAgent = require('http-agent'), jsdom = require('jsdom');

var agent = httpAgent.create('habr.ru', ['page1', 'page2', 'page3', 'page4']);
agent.addListener('next', function (err, agent) {
	console.log('---'+agent.url+'---');
	console.log((process.memoryUsage().rss/(1024*1024)).toFixed(2));
	jsdom.env(agent.body, function (err, window) {	
		console.log((process.memoryUsage().rss/(1024*1024)).toFixed(2));
		agent.next();
	});
});

agent.start();



а это результат:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
---page1---
14.66
22.10
---page2---
22.45
26.72
---page3---
26.94
31.08
---page4---
31.23
34.23


ну и ладно с этими 34.23мб , но если ссылок 200 , то "Нода" просто умирает



как Вы считаете, т.е. непонятно в чем дело и как с этим бороться!?
...
Рейтинг: 0 / 0
06.01.2012, 04:23
    #37603792
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Javascript: по утечке памяти в NodeJs (jsdom модуль)
itwork,

Возможно, Jsdom или httpAgent оставляют внутри себя ссылки на использованные объекты, и сборщик мусора оные не подхватывает.

Модератор: Тема перенесена из форума "HTML, JavaScript, VBScript, CSS".
...
Рейтинг: 0 / 0
Форумы / Серверный JavaScript (Node.js, Ringo, Nitro, Sling) [игнор отключен] [закрыт для гостей] / Javascript: по утечке памяти в NodeJs (jsdom модуль) / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]