We’ve seen a rise in users hitting their file quota (inode limit) before reaching their full disk quota. This is expected behavior for workloads with millions of small files—common with Plex metadata, rclone VFS cache, *arr misconfigurations, AI datasets, comic/ROM/ebook libraries, etc.
💡Your plan includes two quotas:
- Disk space (GiB/TiB)
- File count (inodes = number of files)
Example: with a ~2.5 TiB plan and ~1.6M file limit, you’d need to average ~1.6 MiB per file to fully utilize the space. If your average file is 0.5 MiB, you’ll hit the file cap at ~⅓ capacity.
🛠️ What You Can Do
- Plex/Jellyfin: disable preview thumbnails, intro detection, lyric/metadata agents
- rclone: increase --vfs-cache-chunk-size
to 64–128 MiB, clear old cache
- *arr stack: use hardlinks, not copies
- Tiny file libraries: pack into squashfs
/.tar
to reduce file count drastically
- Need more inodes? You need disk quota upgrade (Either buy Extra or Upgrade your plan for bigger one) for now. We are evaluating higher inode caps on SSD/NVMe-backed plans, since they handle metadata workloads better. No ETA yet.
Shell Commands (SSH/CLI) to check your usage:
Run this to check your average file size:
find ~ -xdev -type f -printf '%s\n' | awk '{c++;s+=$1} END{printf "Files: %d | Avg: %.2f KiB\n",c,s/1024/c}'
To check quota:
quota -s
To find inode usage by directory:
du --inodes -h --max-depth=3 ~ | sort -hr | head -40
Find directories with very high file counts
find ~ -xdev -type d -printf '%h/%f %k KiB %c files\n' 2>/dev/null | \
awk '{print $1,$NF}' | sort -k2 -n | tail -20
⚙️ Why Limits Exist
This file limit exists to protect system performance and stability. Millions of tiny files cause:
- Metadata IOPS spikes: constant reads/writes to file tables
- RAM bloat: Linux caches millions of inodes and dentries
- Disk churn: especially painful on RAID5: small metadata writes = read‑modify‑write cycles w/ heavy write amplification
If we remove inode limits, a single user will degrade performance for everyone. We keep the platform lean and fast by enforcing sane, fair limits.
Wednesday, September 3, 2025