gpt4 book ai didi

c++ - 为什么 du -sh 输出错误大小的内存映射文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:41:26 25 4
gpt4 key购买 nike

我在 NFS (CentOS7) 上创建了一个内存映射文件。

但是 du -sh 显示的文件大小远小于 ls -lastat 命令显示的大小。

du -sh foo.dat
96M foo.dat

du -bh 输出与 ls -lastat 命令输出匹配。

du -bh foo.dat
718M foo.dat

ls -la 给出正确的字节数。

 ls -la foo.dat
-rw-r--r-- 1 david users 752562176 Apr 20 03:58 foo.dat

stat 命令输出如下

stat foo.dat
File: ‘foo.dat’
Size: 752562176 Blocks: 196555 IO Block: 131072 regular file
Device: 31h/49d Inode: 26822713 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1035/ david) Gid: ( 100/ users)
Access: 2018-04-21 03:55:58.305448765 -0500
Modify: 2018-04-21 03:58:05.293052537 -0500
Change: 2018-04-21 03:58:05.293052537 -0500
Birth: -

我想知道为什么 du -sh 报告错误的大小。如果我在本地磁盘/tmp 中创建内存映射文件,情况就不同了。

感谢任何帮助。

谢谢。

最佳答案

我认为 du 显示的文件较小,因为我正在创建稀疏文件。我不是按顺序写的

关于c++ - 为什么 du -sh 输出错误大小的内存映射文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49954310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com