У меня есть веб-приложение Express.js, которое постоянно ломается из-за проблем с памятью:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap
out of memory
Когда я запускаю службу, использование памяти составляет около 170 МБ (сообщается memwatch как память RES). Затем я начинаю бросать запрос на него, и память начинает расти. Я использую, memwatch.HeapDiff()
чтобы попытаться отследить проблему в том, что похоже на утечку памяти, но сообщает что-то вроде:{ before: { nodes: 2093729, size_bytes: 197165296, size: '188.03 mb' }, after: { nodes: 2491264, size_bytes: 232097040, size: '221.34 mb' }, ...
htop
... где я понимаю, что приложение использует 221.34mb для кучи; но при htop
использовании памяти около 2 ГБ, когда он ломается.
Вопрос в том, что, если мои предположения верны, что может использовать память без кучи, которая по-прежнему сообщается htop как память RES?
javascript,linux,express,memory-leaks,node-memwatch,