我正在对可能导致我的应用因JavaScript堆内存不足而死亡的潜在问题进行测试。我试图缩小堆大小以重现类似的问题。
我将max-old-space-size设置为5mb并在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
生成的整个数组以及所有系统文件:
在了解为什么构造函数突然出现,导致堆内存问题并终止服务的过程中,我需要帮助。