df -h 统计磁盘占用

1.执行  df -h查看总磁盘占用情况
2、执行 du -sh /*或则du -h --max-depth=1查看所有目录的磁盘占用空间情况 (du -sh /www/ 或则 du -sh /www/* )
3、执行 du -sh /www/* | sort -r | head -n 10 查看 /www 目录下占用空间较大的10个文件,并按照降序排列
4、至此,找到了占用了系统盘的文件。如果查到比较奇怪的目录文件,可以网上搜索一下该文件是否有用,是否可以删除。不过通常非 /boot  /bin  /etc  /lib  /lib64  下的文件都是非系统文件,删除对系统应当影响不大,不过删除之前还是务必确认清楚。
实例:
查看根目录下各个目录的磁盘占用大小

cd  / && du -sh ./*

查看www目录下各个目录的磁盘占用大小

du -sh /www/*

df -i 参数指的是inode

for i in /www/*; do echo $i; find $i |wc -l|sort -nr; done

如果空间占用不大,但是inode占用100%,原因是小文件太多了导致的;

df -h 是目前文件系统的空间使用情况
df -i 参数指的是inode,文件索引节点数inode占用占满后也会导致服务器的挂掉的
解决方法:扩容磁盘空间、清理大量小文件目录。

实例:

[root@VM-16-5-centos ~]# df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
devtmpfs        232528    320  232208    1% /dev
tmpfs           235258     10  235248    1% /dev/shm
tmpfs           235258    505  234753    1% /run
tmpfs           235258     16  235242    1% /sys/fs/cgroup
/dev/vda1      3276800 172484 3104316    6% /
tmpfs           235258      1  235257    1% /run/user/0
[root@VM-16-5-centos ~]# for i in /www/*; do echo $i; find $i |wc -l|sort -nr; done
/www/backup
3263
/www/Recycle_bin
15
/www/server
52537
/www/swap
1
/www/wwwlogs
83
/www/wwwroot
15665
[root@VM-16-5-centos ~]# for i in /www/; do echo $i; find $i |wc -l|sort -nr; done
/www/
71565
[root@VM-16-5-centos ~]# for i in /www/wwwroot/*; do echo $i; find $i |wc -l|sort -nr; done

通过ls命令配合wc命令,可以查看某个文件夹下的文件数量。例如:

ls -lt /tmp | wc -l
4011517

wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数(-b)、字数(-w)或是列数(-l)。

这种情况的原因通常是:尽管那个分区的磁盘占用率未满,但是inode已经用完,应该是该磁盘的某些目录下存在大量的小文件导致。尽管小文件占用的磁盘空间并不大,但是数量太多,inode用尽。

inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。