How to check disk utilization in Linux – 3 important commands
While using Linux as Server, you frequently need to check storage utilization. In that case, how do you know how much is the utilization, which directory is taking much space. Why is my server not responding? Why is my disk space full? who is taking all storage? To answer all these questions, you need to know the below 3 commands to check disk utilization in Linux
1. df
df command will show you which disk and mounts are at how much utilization
-h
use -h tag to see results in human-readable format (MB/GB)
In the below example, my main volume is /dev/xvda1
which is 63% used, 4.9 GB is used and 2.9GB is available
make sure you have at least 5% free available storage space for the smooth functioning of your server
$df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.7G 4.9G 2.9G 63% /
-i
use-i
tag to see inodes utilization.
An inode is a file data structure that stores information about any Linux file except its name and data. It is like indexing of file structure of whole operating system
- If inodes are full, that means file system can’t store any more files or directories because it can not index it. In that case, it might happen that you still have disk available but you can’t store anything
$df -i
ubuntu@ip-172-31-9-60:~$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 1024000 223664 800336 22% /
2. ls -ah
ls -lah command will show you which file size
-h
use -h tag to see results in human-readable format (MB/GB)- -a for hidden files
- -l for a long list of file permission, creation/updatation dates and file sizes
In the below example, we have 2 files where one is having 117 B of data and another one is empty
$ ls -lah
-rw-r--r-- 1 root root 117 Jul 18 06:17 identicalcloud-file1
-rw-r--r-- 1 root root 0 Jul 18 03:11 identicalcloud-file2
ls command will only show you filesizes and not directory ones.
3. du
du command will show you the directory’s disk usage. This command is very useful, You can run it at root level and it will help you find out which directory you should look into
du -sch *
4.0K ic-dir2
8.0K ic-dir3
4.0K ic-dir4
16K total
-h
use -h tag to see results in human-readable format (MB/GB)-s
is used for summarize, so it will print total value-c
will in the end produce total for all directories size
Run this command in / directory to get values for whole filesystem’s usage
run this command as root user to get all information
$ cd /
$ du -sch *
15M bin
107M boot
0 dev
6.0M etc
60K home
0 initrd.img
0 initrd.img.old
252M lib
4.0K lib64
16K lost+found
4.0K media
4.0K mnt
16K opt
0 proc
154M root
872K run
15M sbin
1.3G snap
4.0K srv
0 sys
40K tmp
2.2G usr
2.3G var
0 vmlinuz
0 vmlinuz.old
6.2G total
In above example, it shows that var
and usr
directories have the highest usage i.e. 2.3 GB and 2.2 GB
As the next step, you can go inside those directories and check usage. For that run same command again
We hope you can find out important information about how to check disk utilization. Remember those commands, save this post to keep it handy.
Drafted On,
22nd January 2022
DevOps @identicalCloud.com