SSD 显示的大小无效

Cha*_*via 4 linux ssd hard-drive filesystems ext4

我在运行 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
Run Code Online (Sandbox Code Playgroud)

出于安全原因,我在这里更改了文件的名称,但除此之外,这正是ls输出的内容。显然,总尺寸读数是不正确的。

这是相应的输出 df

> df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              74G   35G   36G  50% /ssd
Run Code Online (Sandbox Code Playgroud)

尽管读数不正确,驱动器似乎工作正常,并且诊断实用程序发现驱动器没有任何问题。这是 中的某种已知错误ext4,还是更可能是驱动器出现物理问题?

小智 6

最有可能两者都不是。ls 显示的大小是文件的长度,但是大多数现代文件系统都支持“稀疏文件”,其中空块实际上并未写入磁盘。尝试运行 du -h /ssd/* 并查看它报告文件的大小。'du' 将显示实际使用的磁盘数量,它应该与 'df' 报告的相当接近(不包括文件系统开销和保留块)。