Over the past months you might have experienced problems with images or other elements not loading on this site. That is because I have hit my hosting’s Inode limit. You probably don’t want to bother with this. And you’re right: Nobody should have to bother with this! Now what actually is an inode limit?
An “inode limit” is a restriction on the number of files and directories that you can have on your hosting account. If you’ve reached this limit, it means that you’ve used up all the available inodes on your hosting account, which can cause issues with your website and other related services (like images not loading).
My hosting’s cPanel gave me the following overview:
Very low disk usage, very low MySQL usage, but File usage was very close to the limit. Also: Different from what the overview says, the file usage is not unlimited. Quite the contrary: According to this help article I was very close (98%) to the 250k limit.
Godaddy support wasn’t of much help, since they have no tools to identify directories inside your hosting which contain the most files or directories. Their last resort was to upgrade your hosting. Sure: With 4% disk usage and 0.03% DB usage, I’ll upgrade my hosting, because money means nothing to me.
I had to solve this myself, involving quite some research only to realize the simplicity of the solution in the end: The main perpetrator was a caching directory where the caching algorithm had created ~200.000 (TWO HUNDRED THOUSAND) mostly empty directories. But finding this out wasn’t easy, but a rather lengthy adventurous journey, which I’ll summarize below.
Here’s where I started -> https://serverfault.com/questions/136373/what-is-a-good-tool-to-scan-a-ftp-directory-and-show-disk-usage-visually-ala-kdi but I didn’t get FTP Drive to work. One more dead link in this 10 year old post didn’t help. The FolderSizes recommendation however was helpful.
- Map the remote FTP directory as a Drive letter using FTPUSE (thanks to this post). This is a handy little tool you can use via command line (cmd). A simple:
FTPUSE R: ftp.kalle-online.net password /USER:username /NOPASSIVE /PORT:nn maps my entire hosting file system to a virtual drive I can access via Explorer.
- For other problems (mostly drive space) I used to use WinDirStat, but the INODE problem required a better overview regarding the number of files and folders, so I used FolderSizes 9.
- Of course the perpetrator was wp-content/cache. So I purged the cache via directly
via cPanel’s file manager. This of course can also be done via FTP or via other means of which there is a nice overview here.
This was after 6 hours of file system analysis. Only around 60k of 240k files and folders have been processed. Maybe after another 18 hours of file system analysis I would have gotten the definitive numbers. But it didn’t seem necessary given the results of the first 25% of analysis. I’ve stopped analyzing after these 6 hours and deleted wp-content/cache.
File usage being at roughly 10% again, which fits a website like this. Ladies and gentlemen: kalle-online.net, your friendly historically inaccurate Civilization 5 strategy guide page is back online including images!
There’s other useful things I’ve learned while doing this, the highlight being:
I hadn’t been aware I could just map my FTP directories as Network folders in Windows. This means you can natively inside Explorer browse your remote files etc. No need for other tools. Handy.