文件大于其所在分区的大小

时间:2018-09-11 18:22:59

标签: partition

我有一台服务器,其中/分区中有一个30GB的文件,尽管df -h将此分区列出为使用11GB。为什么会发生这种情况?

[root@APPSERVER21-S1 ~]# ls -l /etc/vinter/logs/
total 2046032
-rw-r--r-- 1 root root     3920496 Sep 11 14:35 PlusoftCRMIntegration-APISILVERNODE-1.log
-rw-r--r-- 1 root root 30823671719 Sep 11 15:13 rsp.appserver21-s1.apigoldnode-1.api-oi-gold.log
-rw-r--r-- 1 root root   406061056 Sep 11 15:13 rsp.appserver21-s1.apisilvernode-1.api-oi-silver.log
[root@APPSERVER21-S1 ~]# df -h
Filesystem                      Size  Used Avail Use% Mounted on
devtmpfs                        3.6G     0  3.6G   0% /dev
tmpfs                           3.6G     0  3.6G   0% /dev/shm
tmpfs                           3.6G  137M  3.4G   4% /run
tmpfs                           3.6G     0  3.6G   0% /sys/fs/cgroup
/dev/mapper/vg_main-lv_root      16G  5.0G   11G  32% /
/dev/mapper/vg_dados-lv_dados    20G   33M   20G   1% /datastorage
/dev/mapper/vg_dados-lv_docker   80G  128M   79G   1% /var/lib/docker
/dev/xvdb1                      497M  161M  337M  33% /boot
tmpfs                           722M     0  722M   0% /run/user/0

1 个答案:

答案 0 :(得分:1)

  

我有一台服务器,其中/分区中有一个30GB的文件,尽管df -h将此分区列出为使用11GB。

实际上,它列出的文件系统使用的是5 GB,而不是11 GB。

  

为什么会这样?

如果不知道该文件的内容,文件系统是什么,如何创建文件等等,这是无法回答的。

有些文件系统执行重复数据删除。如果有内容相同的块,它们将被链接替换,因此它们仅占用一个块的空间。因此,如果文件系统上有很多重复的数据,则很可能文件在磁盘上的空间比它们的重复内容要少得多。

有些文件系统执行压缩。如果文件系统上有很多冗余,那么压缩将极大地减少数据量,并且文件很可能比未压缩的内容占用更少的磁盘空间。

许多文件系统支持稀疏文件。稀疏文件是其中带有“孔”的文件。这些空洞将被读取为一长串的二进制零,并且从技术上讲是文件内容的一部分,但它们不会存储在磁盘上。