CodeBlanks Logo Icon CodeBlanks

Memory usage

process.memoryUsage ile bellek kullanımını öğrenirsin.

process.memoryUsage()

process.memoryUsage() sürecin bellek kullanımını bir nesne olarak döndürür. Dört ana alanı vardır: rss (Resident Set Size — toplam ayrılan bellek), heapTotal (V8 heap toplam), heapUsed (V8 heap kullanılan), external (C++ nesneleri).

Bunlar bayt cinsinden sayılardır. Bellek sızıntısı (memory leak) tespiti için düzenli aralıklarla loglayabilirsin. heapUsed sürekli artıyorsa sızıntı olabilir.

Bellek sızıntısı tespiti

Bellek sızıntısı, kullanılmayan nesnelerin çöp toplanmaması (garbage collection) durumudur. Zamanla heapUsed büyür ve süreç çöker.

Tespit yöntemi: setInterval ile her saniye process.memoryUsage().heapUsed logla. Artan trend varsa sızıntı vardır. Node.js'te --inspect bayrağı ile Chrome DevTools'ta heap snapshot alabilirsin. Bu, sızan nesneleri görsel olarak bulmanı sağlar.

Uygulama heapTotal pozitif mi kontrol et

process.memoryUsage() sonucunu bir değişkene ata. usage.heapTotal > 0 sonucunu yaz.

Başlangıç kodu

index.js
// bellek kullanımını al

// heapTotal pozitif mi yaz

Örnek çözüm

index.js
const usage = process.memoryUsage();
console.log(usage.heapTotal > 0);

Beklenen çıktı

true

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Parçayı rolüne eşle

Kavram Anlamı
rss Resident set
heapTotal Toplam heap
heapUsed Kullanılan heap
external Dış bellek

2 Metod adını tamamla

Soru
const usage = process.____()
Cevap
const usage = process.memoryUsage()

Açıklama: process.memoryUsage() bellek kullanımını verir.

3 process.memoryUsage() ne döndürür?

  • Bir dize
  • Bir Promise
  • Bellek nesnesi Doğru cevap
  • Bir sayı

Açıklama: process.memoryUsage() bellek bilgilerini içeren nesne döndürür.

İleri seviye bölümündeki tüm dersler