根据下面显示的这张图片,有几个疑问
1、除了 tempfs , 其余的磁盘 Size 为什么不等于 Used + Available ?
2、Available = 0 时,还可以写文件吗?还可以创建目录吗?root 权限 和 普通用户会有区别吗?
我们先来做个测试:
普通用户:sysuser 不可以使用 Size - (Used+Available) 剩余的空间
root 用户:可以使用 Size - (Used+Available) 剩余的空间
那到底是怎么回事呢?
ext3 ext4 文件系统有一个小的缺陷,当存储空间大于95%的时候,非常容易造成磁盘的碎片化,会非常容易造成文件系统的崩溃,所以一般系统在对 ext3 ext4磁盘格式化的时候,默认只分配95%的空间,剩下的5%作为保留空间,一方面是为了防止磁盘的碎片化,另一方面是为了root进程的某些重要的进程救援节省空间。这部分的空间只要 root用户可以管理,别的用户都没有权限,所以root启动的程序还可以创建文件,它使用的就是 剩余的5%的空间,而sysuser不可以。
这也是为什么 df -h 查看的 Size 不等于 Used + Available的原因,剩余的部分是保留空间。
如果觉得5%的空间很是浪费空间,也可以缩小保留空间,不过最好存储的是一些大的文件,不经常修改的文件,这样不容易产生碎片。
tune2fs -m 1 /dev/sdXY