Потребление памяти в приложении Node.js/Express

Мое приложение работает на одном сервоприводе Modulus с 512 МБ памяти. Запуск приложения выглядит так:

метрики модуля

Как видите, память поднимается во время выполнения. Но затем он остается на уровне 100% на неопределенный срок, даже если никаких дальнейших запросов не делается. Меня беспокоит потребление памяти приложением при повторных запросах.

Есть ли что-то, что мне нужно сделать в моем приложении Node.js/Express, чтобы снова снизить потребление памяти после завершения запроса?

На данный момент у меня есть только это:

process.on("exit", function () {
    'use strict';
    if (mongoose && mongoose.connection) {
        mongoose.connection.close();
    }
});

person reggie    schedule 03.08.2015    source источник
comment
Скачок памяти совпадает с крутым временем отклика. Вы получаете много данных из MongoDB? Если да, то как именно?   -  person robertklep    schedule 03.08.2015
comment
Хочу отметить, что это запутанный график. Он имеет 2 оси. Ось ЦП доходит до 100%. График памяти масштабируется по максимальному объему, потребляемому во временном окне. Таким образом, вы на самом деле не используете 100% памяти, метка 100% применяется только к использованию ЦП.   -  person David Berger    schedule 04.08.2015
comment
Я думаю, что вы, возможно, немного дальтоник. График имеет два оттенка зеленого, и это определенно линия памяти, которая привязана к вершине.   -  person Brad    schedule 04.08.2015
comment
Что ж, всплеск и последующее пребывание там вполне объяснимо. Когда V8 выделяет память, он просто сохраняет ее на неопределенный срок из соображений производительности. Это проблема для вас? Вам может понадобиться больше памяти для того, что вы делаете, но мы не можем сказать вам наверняка, так как понятия не имеем, что делает ваше приложение.   -  person Brad    schedule 04.08.2015


Ответы (1)


Я думаю, что у вас есть утечка памяти.

Какую версию Node.js вы используете?

0.12 - Кажется, потребляет больше памяти.

Проверьте эти ответы для получения дополнительной информации,

Обнаружение утечек памяти в nodejs

Учебное пособие -- https://github.com/felixge/node-memory-leak-tutorial

person Sathish    schedule 03.08.2015