How to Find a Server’s Inode Usage

Before answering this question, let’s try and understand an inode. An inode (an index node) is used in Unix and Linux systems to index or reference a certain file. This file is a data structure that contains information about the files present in your hosting account or server. This data structure is added into the inode table. In inode, information like group and user ownerships along with access mode permissions like write, execute, and read as well as file types are stored.

Inode has two properties; attributes and disk block location. The following are the different attributes of Inode:

  • File type
  • File size
  • Group and ownership
  • File permission
  • Number of clicks
  • File deletion duration
  • File change, modification, and access change

The number of inodes corresponds with the number of folders and files in your account. For example, each webpage, cache file, email or image file is equivalent to one inode. Monitoring the inode is crucial for ensuring optimum performance of the server. You can view your account’s inode usage on the left side inside cPanel that says ‘File Usage’, or if you ssh into the server you can type: df -i

Activating this Feature

In cPanel, this feature is off by default, but you can enable it through the Tweak Settings link in WHM. In that page you can turn on the option ‘Display File Usage information in the cPanel statistics bar (inode count)’.

What if the Inode Usage has Exceeded?

The number of inodes is allocated to your account and if this usage is exceeded, you won’t be able to add any new files or emails.

Get a Detailed View of Inode Usage

If you’re interested in finding out a more comprehensive account of your inode usage and determine what is causing the maximum usage, SSH into your server and enter the following command:

SSH into your server and enter the following command

This will show you a complete usage of the inodes. If you want to view which folders/files are taking up the most inodes, use the following command:

find . -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn