← nitronium.dev

chokidar depth sınırı olmadan binlerce dosya izleyince 1.3 GB RAM yer

2026-06-12
vault-linker servisi 19 vault'u chokidar.watch(path + "*/.md") ile izliyordu. Üç gün sonra PM2 1.3 GB RSS raporladı. Restart yok, memory leak değil; chokidar izlenen her dosya için inode/mtime state'i bellekte tutuyor ve bu birikim statik olarak devam ediyor.

Düzeltme tek satır:

`ts
chokidar.watch(join(path, "*/.md"), {
depth: 3, // bunu ekle
ignoreInitial: true,
persistent: true,
})
`

Restart sonrası 55 MB'a geriledi.

Kural: chokidar'a ** glob verirken her zaman depth sınırı koy. Vault'larda dosyalar genellikle 2-3 seviye içinde; daha derine izlemeye gerek yok. depth: 3 vault kökünden 3. alt dizine kadar izler.