首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件时间戳精度- ext3为纳秒,ext4为毫秒

文件时间戳精度- ext3为纳秒,ext4为毫秒
EN

Unix & Linux用户
提问于 2020-03-24 09:05:26
回答 1查看 1.2K关注 0票数 2

人们说,ext3支持文件时间戳精度可达秒,ext4支持纳秒级。

发生的情况是,运行Ubuntu12.04和ext3文件系统的旧VPS总是很好地支持纳秒(据我所知),如下所示:

代码语言:javascript
复制
  File: `auth.log'
  Size: 147744      Blocks: 304        IO Block: 4096   regular file
Device: 800h/2048d  Inode: 32019       Links: 1
Access: (0640/-rw-r-----)  Uid: (  101/  syslog)   Gid: (    4/     adm)
Access: 2020-03-20 00:18:33.634687690 -0300
Modify: 2020-03-24 05:12:48.777610222 -0300
Change: 2020-03-24 05:12:48.777610222 -0300
 Birth: -

mount节选:

代码语言:javascript
复制
/dev/sda on / type ext3 (rw,noatime,errors=remount-ro)

stat -f

代码语言:javascript
复制
  File: "auth.log"
    ID: 5483af2794a91010 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 3870084    Free: 272230     Available: 75643
Inodes: Total: 923520     Free: 829980
代码语言:javascript
复制
root@mail:~# df -mT
Filesystem     Type     1M-blocks  Used Available Use% Mounted on
/dev/sda       ext3         15118 14055       296  98% /
devtmpfs       devtmpfs      1973     1      1973   1% /dev
none           tmpfs          395     1       395   1% /run
none           tmpfs            5     0         5   0% /run/lock
none           tmpfs         1973     0      1973   0% /run/shm

现在,我买了一个新的VPS,更新到Ubuntu20.04(预beta版),它有一个安装为ext4的文件系统。

代码语言:javascript
复制
  File: auth.log
  Size: 723967      Blocks: 1424       IO Block: 4096   regular file
Device: ca03h/51715d    Inode: 398412      Links: 1
Access: (0640/-rw-r-----)  Uid: (  104/  syslog)   Gid: (    4/     adm)
Access: 2020-03-24 00:00:05.676000000 -0300
Modify: 2020-03-24 05:14:56.644000000 -0300
Change: 2020-03-24 05:14:56.644000000 -0300
 Birth: -

mount节选:

代码语言:javascript
复制
/dev/xvda3 on / type ext4 (rw,noatime,nobarrier,errors=remount-ro,stripe=32564)

但奇怪的是,stat -f说这是ext3:

代码语言:javascript
复制
  File: "auth.log"
    ID: 7e8a03105e52b018 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 9857995    Free: 7434726    Available: 7007355
Inodes: Total: 2505120    Free: 2403794
代码语言:javascript
复制
root@mailnew:~# df -mT
Filesystem     Type     1M-blocks  Used Available Use% Mounted on
udev           devtmpfs       430     0       430   0% /dev
tmpfs          tmpfs           95     2        94   2% /run
/dev/xvda3     ext4         38508  9466     27373  26% /
tmpfs          tmpfs          473     0       473   0% /dev/shm
tmpfs          tmpfs            5     0         5   0% /run/lock
tmpfs          tmpfs          473     0       473   0% /sys/fs/cgroup
/dev/loop0     squashfs        54    54         0 100% /snap/lxd/11348
/dev/loop1     squashfs        92    92         0 100% /snap/core/8689
/dev/xvda1     ext4           727   183       502  27% /boot
tmpfs          tmpfs           95     0        95   0% /run/user/0

我的问题是:

  1. 为什么我的旧ext3系统支持纳秒精度?
  2. 为什么新的ext4被限制为毫秒?它实际上被格式化为ext3吗?
  3. 我怎样才能找出问题所在,并在新系统中启用纳秒呢?
EN

回答 1

Unix & Linux用户

发布于 2020-03-25 06:43:28

对纳秒和秒分辨率的实际支持取决于在格式时间选择的inode的大小。128字节节点只支持第二分辨率,256字节节点支持纳秒分辨率.内核中的ext3文件系统驱动程序实际上运行了许多年的ext4模块,因此它支持纳秒时间戳。

至于毫秒分辨率时间戳,这很可能是虚拟化只为文件系统提供ms分辨率时钟的结果。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/574585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档