Я провожу тестирование на потенциальную проблему, из-за которой мое приложение умирает из-за кучи JavaScript.Я попытался уменьшить размер кучи, чтобы воспроизвести похожую проблему.
Я установил max-old-space-size равным 5 МБ и проверил его в Chrome:
node --inspect --max-old-space-size=5 app.js
Ниже приведен мой app.js
код для увеличения использования памяти:
const express = require('express')
const app = express()
let port = process.env.SERVER_PORT || 3333
var test = []
setInterval(() => {
test.push(
process.memoryUsage()
)
}, 1)
app.listen(port, () => {
console.log('Server is started on ' + port + ' with pid ' + process.pid)
})
... пытается спамить службу и записывать изменения.
Следующие изображения являютсяРезультат первого предупреждения о снимке памяти из Chrome.
Это общие данные службы:

Показывает всплеск непосредственно перед выдачей предупреждения памятиотладчиком Chrome:

Это доказало, что шип содержит весь массив, сгенерированный app.js
, а также весь системный файл:

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