Inodes are structural elements of the file system in Unix-like operating systems that store information about every file and directory. Each file on the server, including directories, symbolic links and even sockets, has its unique inode.
An inode does not contain the file’s contents but its metadata: access rights, owner, group, size, creation date, last modification date, as well as pointers to the blocks where the file’s data is physically located. The file name is not part of the inode – it is stored separately in the directory structure, which simply refers to the corresponding inode number.
The role of inodes in the system is critically important: every time a file is accessed, the operating system first finds its inode, then the data blocks. This is relevant to virtual servers and shared hosting, where the number of inodes may be strictly limited. If the limit is exceeded, it becomes impossible to create new files or folders even if there is still free disk space.
Thus, inodes are responsible for accounting for all objects in the file system and are involved in all file operations, ensuring availability, integrity and data management at the kernel level.
Inodes play a key role in hosting operations, as they determine how many files and folders the file system can store. Even if there is enough space on the disk, it is impossible to create a new file if the inode limit has already been reached. This limitation is often found on virtual and cloud hosting, where each plan sets not only the amount of disk space but also the maximum number of inodes.
Every file, folder, image, email in a mailbox or cache element takes up one inode. Therefore, websites with many small files, such as CMS with many modules, logs or emails, may reach the inode limit before running out of disk space. Exceeding this limit may cause site malfunctions: inability to upload files, save cache, create backups or update the system.
Monitoring and managing inode usage allows you to promptly identify unnecessary or outdated files, free up resources and maintain stable site operation on the hosting.
You can check inode usage on the server using standard command-line tools. This allows you to determine how many inodes are already used, how many are left and which directories consume the most files. Below are the main commands for this:
df -i
This command shows the total number of inodes on each partition, how many are in use and how many are free. It also displays usage percentages.
find /path/to/directory -xdev -type f | wc -l
This command counts the number of files in the specified directory, giving an idea of how many inodes are used there.
for d in /*; do echo -n "$d: "; find "$d" -xdev -type f | wc -l; done | sort -nr -k2 | head
This script shows which directories contain the most files and therefore consume the most inodes.
In ISPmanager, inode usage information can be obtained directly from the control panel without connecting to the server via the console. To do this, log in to the system at the given address and enter your username and password. Then open the section «System» → «File system», where all disk partitions, their size, number of files and used inodes are displayed.
There are several effective ways to clean inodes on hosting if the limit is approaching a critical level. First, you should delete unnecessary small files, since each one takes up one inode regardless of its size. Cache files, temporary CMS data, backups, outdated logs and sessions – all of this often creates thousands of elements, quickly consuming available resources.
It is better to start cleaning from the cache, tmp, logs folders and other directories where temporary and service files are stored. If the site runs on WordPress, Joomla or a similar system, such files may accumulate in large volumes. It is also worth checking directories with backups and updates, which are saved automatically and not always deleted after installation.
If the server has email configured, you should clear old emails or set up automatic deletion of spam and trash. It is also important to analyse folders with installed modules and plugins – unused extensions may contain many files that do not affect site operation.
Additionally, you can use control panel tools. For example, ISPmanager provides tools for viewing directory structure and size. This will help quickly determine which folders contain the most files. After cleaning, it is recommended to recheck inode usage and, if necessary, set up automatic regular cleaning or limit the creation of temporary files.
To avoid inode limit overflow on hosting and maintain stable site operation, it is important to follow basic file system maintenance recommendations:
Learn more about how to purchase a domain, hosting, VPS, or dedicated server.
The contents of the inode itself cannot be viewed directly, as it stores file metadata, not the actual file data. To obtain information from an inode, file system commands such as ls -i (show inode number) or stat (show detailed metadata stored in the inode) are used.
Inodes are stored in a special area of the file system called the inode table. This table is created when the disk partition is formatted and is usually located at the beginning of each partition, separately from the data blocks where the actual file content is stored.
Inode usage can grow rapidly due to many small files. For example, cache files, sessions, image thumbnails or numerous configuration files can consume a lot of inodes, since each file, regardless of its size, corresponds to one inode.