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
解决方案
我有一台服务器,其中分区内有一个 30GB 的文件
/
,尽管df -h
将此分区列为使用 11GB。
实际上,它将此文件系统列为使用 5 GB,而不是 11 GB。
为什么会这样?
如果不知道该文件的内容是什么、文件系统是什么、文件是如何创建的等等,这是不可能回答的。
有执行重复数据删除的文件系统。如果有相同内容的块,则将它们替换为链接,这样它们就只占用一个块的空间。因此,如果文件系统上存在大量重复数据,则文件在磁盘上占用的空间很可能比其重复内容少得多。
有执行压缩的文件系统。如果文件系统上有很多冗余,那么压缩会显着减少数据,并且很可能文件占用的磁盘空间比未压缩的内容要少得多。
许多文件系统支持稀疏文件。稀疏文件是其中带有“漏洞”的文件。这些漏洞将被读取为一长串二进制零,并且在技术上是文件内容的一部分,但它们不存储在磁盘上。
推荐阅读
- outlook - 谷歌日历中的 ICAL 有额外的活动
- angular - 表单组件,可与反应式和模板驱动的表单一起使用
- javascript - 反应引导不断显示工具提示
- sql - 将表名和值列表作为参数传递给 psycopg2 查询
- ruby-on-rails - 在 rails 的 devise-jwt 中查找 JWT 令牌的用户
- telegram - 深度链接到电报机器人
- python - 如果使用 python regex 找到特定字符串,则突出显示整行
- python - 为什么在 tensorflow 2 中使用 tf.GradientTape 进行训练与使用 fit API 进行训练有不同的行为?
- spring-kafka - 多个 KafkaListener 类可以监听同一个主题吗?
- excel - 如何通过 VBA 抓取整页源代码 - 单元格限制问题