{"repo":"dkorunic/findlargedir","free":true,"listed":false,"github":"https://github.com/dkorunic/findlargedir","clone":"git clone https://github.com/dkorunic/findlargedir.git","description":"Quickly locate flat \"blackhole\" directories with pathological entry counts","language":"Rust","stars":65,"topics":["command-line-tool","filesystem","linux","system-administration","unix","find","macos","os","performance","performance-analysis"],"license":"MIT","category":"cli-tools","readme_excerpt":"findlargedir (Ferris the Detective by Esther Arzola, original design by Karen Rustad Tölva) About findlargedir is a tool written specifically to help quickly identify \"black hole\" directories on any filesystem — directories with an extremely large number of entries in a flat structure (100k+). When a directory contains many entries (files or subdirectories), listing its contents becomes progressively slower, degrading the performance of every process that needs to read it. Processes reading large directory inodes can freeze in uninterruptible sleep (\"D\" state) for extended periods. Depending on the filesystem, this may start becoming noticeable around 100k entries and can be a severe performance problem at 1M+ entries. Such directories mostly cannot shrink back even after their contents are cleaned up, because most Linux and Unix filesystems do not support directory inode shrinking (ext3/ext4 being a prime example). This situation commonly arises with forgotten web session directories (e.g. PHP session folders with GC intervals set to several days), CMS cache and compiled template directories, or POSIX filesystem emulations over object storage. The program identifies these directories using calibration — it creates files (in order, up to a fixed budget) in a temporary directory on the target filesystem and fits a line to how the directory's inode size grows, recovering that filesystem's marginal bytes-per-entry cost and fixed overhead. Calibration is deterministic: repeated r","default_branch":null,"files":null,"tree":[],"storefront":"/r/dkorunic","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dkorunic/findlargedir/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}