Findlargedir, tek bir düz yapıda 100.000’den fazla girişe sahip herhangi bir dosya sistemindeki “kara delik” dizinlerini hızlı bir şekilde tanımlamaya yardımcı olmak için yazılmış bir araçtır.
Bir dizinde çok sayıda giriş (dizinler veya dosyalar) olduğunda, bir dizin listesi almak, bir dizin listesi almaya çalışan tüm işlemlerin performansını etkileyerek yavaşlar ve yavaşlar. Büyük dizin düğümlerini okuyan işlemler bunu yaparken donar ve daha uzun süreler boyunca kesintisiz uykuda (“D” durumu) sona erer. Dosya sistemine bağlı olarak bu, 100.000 girişle görünür hale gelebilir ve 1 milyondan fazla girişle çok belirgin bir performans etkisi yaratabilir.
Çoğu Linux ve Un*x dosya sistemi dizin inode küçültmeyi desteklemediğinden, bu tür dizinler içerik temizlense bile küçülemez. Bu genellikle unutulan Web oturumları dizini (GC aralığının birkaç gün olarak yapılandırıldığı PHP oturumları klasörü), çeşitli önbellek klasörleri (CMS derlenmiş şablonlar ve önbellekler), nesne depolama öykünmesi yapan POSIX dosya sistemi vb. ile olur.
Program, bu tür olayları belirlemeye ve kalibrasyona dayalı olarak, yani her dosya sistemi için her bir dizin düğümünde kaç tane varsayılan dizin girişinin paketlendiğine bağlı olarak rapor vermeye çalışacaktır. Bunu yaparken, dizin inode büyüme oranını giriş/inode sayısına göre belirleyecek ve pahalı/yavaş dizin aramaları yapmaktan kaçınarak dosya sistemini hızlı bir şekilde taramak için bu oranı kullanacaktır.
Pek çok araç dosya sistemini tararken (find, du, ncdu, vb.), tamamen doğru olacak şekilde tasarlandıkları için hiçbiri pahalı aramalardan kaçınmak için buluşsal yöntemler kullanmaz; bu araç ise buluşsal yöntemler kullanır ve takılıp kalmadan sorunlar hakkında uyarı verir. sorunlu klasörlerde.
Findlargedir sembolik bağları izlemez ve bir dizin inode boyutunun giriş sayısına oranını hesaplamak ve bir dizindeki giriş sayısını fiilen saymadan tahmin etmek üzere dizini kalibre etmek için r/w izinleri gerektirir. Bu yöntem, bir dizindeki gerçek girdi sayısına yaklaşsa da, rahatsız edici dizinleri hızlı bir şekilde taramak için yeterince iyidir.
Araç, GitHub’da ücretsiz olarak kullanılabilir.