{
  "id": 18848696,
  "title": "Inode Exhaustion: The Disk Full Error That Makes No Sense",
  "url": "https://urgent.news/2026/11/08/inode-exhaustion-the-disk-full-error-that-makes-no-sense",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-08T03:32:03.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/jun_liu_ca219b73a8f1489b5/inode-exhaustion-the-disk-full-error-that-makes-no-sense-mof"
  },
  "original_language": "en",
  "account": "The inode exhaustion issue occurs when a disk appears full due to a lack of available inodes, rather than a shortage of disk space. An inode is a data structure that stores metadata about each file, such as permissions, owner, timestamps, and pointers to the data blocks on disk. Every file, directory, and symlink requires an inode to function correctly. The problem arises when a large number of small files accumulate, consuming all available inodes.\n\nThe classic scenario involves a production server hosting a Node.js application. The disk showed 85% usage, but the inode count was at 100%. This contradiction confuses engineers, who must investigate further. Tiny files, such as those created by npm installs, webpack cache entries, or log rotation, contribute significantly to inode exhaustion. Misconfigured logrotate settings, ephemeral session files, and PHP sessions can also exacerbate the issue.\n\nTo diagnose inode exhaustion, first confirm the problem by running df -i. If any partition shows 100% inode usage, the issue is identified. Next, find the largest directories using the du command and prioritize directories with many files, not necessarily the largest by size. Once the suspect directory is found, check if the files are small (under 1KB) using the find command. Deleting these files frees up inodes and resolves the issue.\n\nPrevention involves proper logrotate configuration, which compresses and rotates old logs instead of accumulating them. A cron job can warn administrators when inodes reach critical levels, reducing panic and downtime. In cases where the inode count is too low for the workload, options include resizing the filesystem, moving data to a larger partition, or recreating the filesystem with higher inode density.\n\nIn summary, inode exhaustion is a common issue caused by a lack of available inodes. By understanding the causes and implementing preventative measures, sysadmins can avoid this frustrating \"No space left on device\" error.",
  "summary": "You run df -h and the root partition shows 85% used. Plenty of space left, right? Then you try to create a new file and get: No space left on device . You check again. You reboot. You even resize the partition. Same error. The problem isn't your disk space. It's your inodes. What Are Inodes? An inode is a data structure that stores metadata about a file: permissions, owner, timestamps, and…",
  "key_points": [
    "Inode exhaustion occurs when lack of available inodes, not disk space, causes disk to appear full.",
    "Tiny files like npm installs and log rotation contribute significantly to inode exhaustion.",
    "Prevention includes proper logrotate configuration and monitoring inode levels with cron jobs."
  ],
  "editors_take": "Managing large volumes of small files shifts the technical burden from monitoring raw storage capacity to tracking metadata availability to prevent unexpected system downtime.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}