Я пытался проверить, где у моего приложения есть утечка памяти. Я использовал memcache-next Но приложение показывает, что оно не имеет утечки. Наоборот, пока я наблюдаю в Grafana
, я вижу, что у моего приложения со временем увеличивается объем памяти (около 3 часов), даже если в приложении не выполняется никаких действий. Я использую Node версии 8.0. *, А также при проверке выяснил, что это сервер. js, где происходит утечка памяти. Я прошел через код. Не могу найти ничего, где он может протечь. Затем я снова вызвал G C и взял heapsnap, используя этот пакет , и сравнил его, где он показывает только массив и строку системы.
Хотя пакеты говорят, что они перестали поддерживать дальше (я немного запутался в этом вопросе). Что-нибудь еще, что я могу сделать, чтобы найти эту утечку памяти?
memwatch.on('leak', function (info) {
console.log('Memory leak detected:\n', info)
heapdump.writeSnapshot(function(err, filename) {
console.log('dump written to', filename);
})
})
memwatch.on('stats', function(stats) {
console.log("stats:",stats)
})
// var d = 0
setInterval(() => {
const hd = new memwatch.HeapDiff()
const diff = JSON.stringify(hd.end())
// heapdump.writeSnapshot('heap' + d + '.heapsnapshot')
// d++
console.log(diff);
}, 1000)
Кроме того, через большинство блогов были связаны утечки памяти. Некоторые из них приведены ниже:
Будет очень полезно, если я найду хорошие решения. Большинство постов, связанных с этой проблемой, тоже очень старые.