元数据示例:
文件系统块指针
目录信息
重复数据删除表
ZFS uberblock
预取是用于提高流读取工作负荷的性能的一种机制。它将分析 I/O 活动以识别顺序读取,并可以提前发出额外的读取,以使得在应用程序请求数据前,该数据已在高速缓存中。预取在 ARC 之前发生(通过访问 ARC 实现),当尝试了解 ARC 活动时,请牢记这一点。例如,如果看到:
|
数据被预取后,应用程序可以通过其自己的 ARC 访问来请求该数据。请注意,大小可能不同:执行预取时 I/O 大小可能为 128 KB,而应用程序读取时 I/O 大小可能为 8 KB。例如,以下信息看起来好像没有直接关系:
Data hits: 368(数据命中:368)
Prefetch data misses: 23(预取数据未命中:23)
但实际情况可能是:如果预取使用 128 KB 大小的 I/O 进行请求,则 23 x128 = 2944 KB。如果应用程序使用 8 KB 大小的 I/O 进行请求,则 368 x 8 = 2944 KB。