![SSD 显示的容量无效](https://linux22.com/image/1258992/SSD%20%E6%98%BE%E7%A4%BA%E7%9A%84%E5%AE%B9%E9%87%8F%E6%97%A0%E6%95%88.png)
我在运行 Debian 5.0 的 Linux 机器上安装了 80GB Intel X25-M SSD 驱动器。SSD 上的文件系统是 ext4。我使用该驱动器没有遇到任何问题,并且已经使用它很长时间了,既用作交换文件存储,也用作存储一些需要随机访问的大型数据库文件的地方。
然而,我注意到这个奇怪尺寸的读数ls
:
> ls -lh /ssd
total 34G
-rwx------ 1 root root 23G 2010-12-11 18:00 file1.dat
-rwx------ 1 root root 22G 2010-12-11 18:00 file2.dat
出于安全原因,我在这里更改了文件的名称,但除此之外,这正是ls
输出的内容。显然,总大小读数是不正确的。
以下是相应的输出df
> df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 74G 35G 36G 50% /ssd
尽管读数不正确,但驱动器似乎工作正常,诊断实用程序也没有发现驱动器存在任何问题。这是某种已知的错误ext4
,还是更有可能是驱动器存在物理故障?
答案1
很可能都不是。ls 显示的大小是文件的长度,但是大多数现代文件系统都支持“稀疏文件”,其中空块实际上不会写入磁盘。尝试运行 du -h /ssd/* 并查看它报告的文件大小。'du' 将显示实际使用的磁盘量,这应该非常接近(不包括文件系统开销和保留块)'df' 报告的磁盘量。
答案2
来自 Google 搜索的第二个结果:稀疏文件,详细解释了这一点。