memcache-next утечка не найдена, но на самом деле есть утечка памяти - PullRequest
0 голосов
/ 19 марта 2020

Я пытался проверить, где у моего приложения есть утечка памяти. Я использовал 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)

Кроме того, через большинство блогов были связаны утечки памяти. Некоторые из них приведены ниже:

Будет очень полезно, если я найду хорошие решения. Большинство постов, связанных с этой проблемой, тоже очень старые.

...