Подтвердить что ты не робот

Что происходит с разбиением памяти node.js?

Мы развертываем приложение Node.js. Это приложение, по-видимому, потребляет больше памяти RSS, чем нужно. Итак, мы начали погружаться в вещи, и мы нашли следующее, благодаря process.memoryUsage();

  • RSS-память быстро растет примерно до 400 Мбайт и остается более или менее стабильной в 400 МБ-500 МБ с небольшими взлетами и небольшими падениями (сборщик мусора работает?)

  • Куча быстро растет до 50 МБ, а затем остается на этом уровне (от 20 МБ до 100 МБ).

  • В heaptotal всегда на 30 Мбайт больше MB, чем heapUsed.

Как вы видите, существует огромная разница между кучей и RSS, и я думаю, что мы должны сосредоточиться. В нашей куче, похоже, не очень большая утечка.

Теперь, что в RSS, что нет в куче? Я считаю, C расширений и буферов, не так ли? Если да, то как мы можем отладить это. Что еще мы должны искать?

4b9b3361

Ответ 1

Не зная, что делает ваше приложение, невозможно прокомментировать это.

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

Можете ли вы сделать какой-то код общедоступным?