Independent review · contains affiliate links
⭐ We recommend BanaHosting — real SSD hosting from $4.95/mo, using our affiliate link See plans →
← Back to blog

What Are Inodes and Why You Can Run Out of Space While Having Space

Here is a situation that baffles a lot of people. The control panel says you used 12 of the 50 gigabytes in your plan, but the site starts failing, you cannot upload files, email bounces, and a notice appears saying the account exceeded a limit. You check the space again and there is plenty left. The explanation is almost always the same: you ran out of inodes.

What an inode is, plainly

In Linux file systems, every file and every folder has an associated structure holding its information: who owns it, what permissions it has, when it was modified, where its data sits on disk. That structure is the inode.

The practical translation is very simple: one inode equals one file or one folder. It does not matter whether it weighs 2 kilobytes or 2 gigabytes; it consumes exactly one inode. That is why the inode limit is, at bottom, a limit on the number of files.

And that is why you can have plenty of space and still be maxed out: a 4-gigabyte video takes enormous space and a single inode, while a cache with two hundred thousand tiny files takes little space and two hundred thousand inodes.

Why hosts impose that limit

It is not a commercial whim. A file system with millions of entries becomes slow at everything: listing folders, running backups, scanning for malware. A single account with two million files can turn the nightly backup of the entire server from two hours into twelve, affecting everyone else.

The limit also protects your own backups. Many backup systems simply skip accounts above a certain file count, because processing them takes too long. At that point the problem stops being an inconvenience and becomes real risk: you think you have backups and you do not.

How many inodes a normal site uses

Some concrete reference points. A freshly installed WordPress with nothing added sits around 3,000 files. With a commercial theme and ten plugins it comfortably reaches 25,000 or 40,000. A store with extensions and translations can hit 80,000 with nothing wrong at all.

Typical shared plan limits run from 200,000 to 500,000 inodes. So a well-managed site has enormous headroom. If you are near the ceiling, something is almost certainly generating files that should not exist.

The usual suspects

Image thumbnails. The undisputed champion. WordPress generates several sizes of every image you upload, and each theme and plugin adds its own. It is not unusual for a single photo to end up occupying eight to fifteen files. With two thousand photos in the library, that is twenty or thirty thousand files from images alone.

Caches that never get cleared. Cache plugins store a static copy of every page. On a site with thousands of URLs, and with mobile and desktop variants, the cache folder can hold hundreds of thousands of files. If the plugin is misconfigured and never purges old entries, it grows without end.

Accumulated email. Every message is a file. A mailbox with fifteen years of unpruned mail, plus the sent folder and a trash nobody empties, can eat a hundred thousand inodes by itself.

Logs and old copies. Log files growing without rotation, backups a plugin left in a folder inside the site itself, previous versions kept "just in case."

Session folders. Some configurations write one file per visitor session and never clean them. A site with traffic can generate thousands per day.

How to find where they are

Most panels show inode usage in the statistics sidebar, but they do not tell you where the files are concentrated. There are two routes for that.

If you have command line access, you can count files per folder and sort the result, which shows you in seconds which directory is eating everything.

If you only have the file manager, walk folder by folder checking how many items each one holds. Start with the usual suspects: the uploads folder, the cache folder, the mail folder, and any backup folder.

How to bring the number down without breaking anything

Start with email. It is the fastest and least risky fix. Empty the trash and spam folders on every mailbox, and set an automatic deletion policy for anything older than a certain age in those folders. This usually frees tens of thousands of inodes in five minutes.

Clear the cache and tune its expiry. Purge the whole cache and review the plugin settings: if expiry is set to several days and you have many pages, lower it. Regenerating more often beats accumulating.

Reduce the image sizes being generated. Check how many sizes your installation creates and disable the ones no template uses. Then regenerate thumbnails: the process deletes the leftovers. This step alone can recover tens of thousands of files on a photo-heavy site.

Move backups out of the site. Backups should not live in the same account they are backing up, neither for inode reasons nor for common sense. Download them to your computer or push them to external storage and delete them from the server.

Delete what you do not use. Deactivated themes and plugins still occupy files. So does that test installation on a subdomain everyone forgot about.

Keeping the number down over time

Cleaning once solves today. What keeps the number healthy is a couple of habits. Set your cache plugin to purge on a schedule rather than growing forever. Apply a retention policy on mail so trash and spam folders empty themselves after a month. And whenever you install a plugin that generates files on every page view, check where it writes and whether it ever cleans up after itself.

It also helps to glance at the inode counter in your panel once a month, the same way you would glance at disk usage. Inodes rarely spike overnight: they creep. Noticing the trend early turns a blocked account into a five-minute chore.

When the problem is not housekeeping

If after a serious cleanup you are still near the limit, you are not being sloppy: your project simply needs more. A site with twenty thousand products, each with several photos, will consume hundreds of thousands of inodes by design, and there is nothing to clean.

In that case it is time to look at plans with higher limits, or a VPS, where the file system is yours and the limit is defined by disk size. Forcing a large project into an entry plan only produces backups that never run and warnings every couple of weeks.

Before signing up, it is worth asking for the specific inode count of the plan, not just the gigabytes. It is a number many providers leave off the pricing table, and it determines, more than storage does, how much site actually fits.

Convinced you need better hosting?

These are the real BanaHosting plans, the provider we use and recommend.

See plans from $4.95/mo →

Hosting by profile

🏠 Hosting for individuals 💼 Hosting for professionals 🏢 Hosting for enterprises

Hosting where you are

🗺 Coverage by city Web hosting USA WordPress hosting New York Cheap web hosting

Other articles

🔍 Signs Your Site Was Hacked Before Google's Warning Shows Up 🆘 The First Five Minutes After Your Site Goes Down 🔑 Limited FTP Access: How to Bring a Developer In Without Risking Everything

Have you used BanaHosting?

Tell us in one line. Reviews are checked before publishing and help the next reader decide on real experience rather than advertising.

Leave my review
View plans & sign up