Пик памяти NodeJS, вызывающий кучу памяти - PullRequest
0 голосов
/ 02 января 2019

Я провожу тестирование на потенциальную проблему, из-за которой мое приложение умирает из-за кучи 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, а также весь системный файл:

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

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