什么是目录大小?
适用场景
- ONTAP
- 目录
问题解答
注意:此上下文中的"目录大小"短语不适用于给定目录中所有文件的内容所使用的总磁盘空间。
要了解目录大小、我们首先需要了解目录的实际含义。在Unix类型的操作系统中、通常有三种主要类型的文件:
- 常规文件
- 特殊文件
- 目录文件
常规文件包含用户和应用程序创建的数据。有关特殊文件、请参见 Linux/Unix中的文件类型详细说明。 本文讨论目录文件。
什么是目录文件?
文件系统会跟踪每个文件的名称、位置和其他元数据。如果此元数据仅位于索引节点或文件本身中、则从磁盘读取文件需要极长的时间。为了缓解此性能问题、文件名和其他所需元数据会保留在一个名为目录文件的文件中。
注意: 有关文件的某些文件元数据内容的示例、请参见下面的追加信息 ?什么是索引节点?
目录文件的某些内容包括:
- 文件名
- DOS 8.3名称(如果使用CIFS创建)
- 索引节点编号
如何查找目录文件的大小
在单个目录中的文件数量较多的环境中、目录文件的大小变得非常重要。 现代文件系统允许在一个目录中使用较长的文件名和大量的文件。 文件名的长度以及单个目录中的文件数都会影响目录文件大小。
要查看目录文件大小、请从客户端使用以下命令:
$ ls -l
 -rwxr-xr-x  1 user group    98404 Nov  8  2021 application.png    
 drwxr-xr-x  3 user group    4096 Apr 13  2022 backup
 -rw-rw-r--  1 user group   2221823 Aug 30  2021 ems.log.0000000009.txt  
 -rwxr-xr-x  1 user group   1174298 Feb 12  2020 putty.log
 drwxrwxr-x  4 user group    12288 Sep 17  2021 logs
- 此输出中的第五列显示了每个文件所使用的空间。
- 突出显示的条目是目录文件的大小(以字节为单位)。
- 新创建的目录的默认大小为4096字节。
目录文件的大容量是什么?
在ONTAP 中、如果目录文件大小为2MiB或更大、则会视为较大、以便进行搜索。此大小及更大的目录文件会自动编制索引、以提高搜索性能。
追加信息
- 什么是maxdirsize?
- 常规文件元数据示例:
$ stat file.dat
   File: file.dat
   Size: 419430400     Blocks: 822432    IO Block: 65536  regular file  
 Device: 3bh/59d Inode: 99629125   Links: 1
 Access: (0755/-rwxr-xr-x)  Uid: ( 1010/user)   Gid: (   80/   grp)
 Context: system_u:object_r:nfs_t:s0
 Access: 2017-01-16 04:54:15.115626000 -0800
 Modify: 2013-01-09 02:48:00.000000000 -0800
 Change: 2017-01-16 04:54:15.116631000 -0800
  Birth: -
- 目录文件元数据示例
  $ stat fspopulate
   File: fspopulate
   Size: 4096       Blocks: 8      IO Block: 32768  directory    
 Device: 3bh/59d Inode: 89991994   Links: 4
 Access: (2755/drwxr-sr-x)  Uid: ( 1010/user)   Gid: (   80/   grp)
 Context: system_u:object_r:nfs_t:s0
 Access: 2022-05-30 03:45:53.110149000 -0700
 Modify: 2017-01-16 04:54:15.538648000 -0800
 Change: 2017-01-16 04:54:15.538648000 -0800
  Birth: -