硬盘存储管理性能概述_第1页
硬盘存储管理性能概述_第2页
硬盘存储管理性能概述_第3页
硬盘存储管理性能概述_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、硬盘存储管理性能概述内容提要硬盘存储管理性能概述 正文硬盘存储管理性能概述下图显示了操作系统用来管理硬盘存储器的结构层次。每个单独的磁盘驱动器称为一个物理卷(PV),它们各有一个名称,例如 /dev/hdisk0。如果物理卷在使用,那么它属于一个卷组(VG)。卷组中所有物理卷划分成相同大小(如果卷组包含的物理卷小于 4 GB,则缺省值是 4 MB;对于更大的磁盘该值为 8 MB 或更多)的物理分区(PP)。根据空间分配的用途,每个物理卷可分成五个区域。根据磁盘驱动器总容量的不同,每个区域中物理分区的数量也不同。硬盘数据(非镜像)的组织. 此插图显示了划分成一个或多个逻辑卷的物理卷的层次结构。这

2、些分区或逻辑卷中包含带有目录结构的文件系统,目录中包含有单独的文件。文件就写在存储介质上磁道所包含的一些块中,这些块通常并不邻接。当数据被擦除,新的数据文件写入空块且这些空块随机分散在介质的多个磁道上时会产生磁盘碎片。 在每个卷组中定义了一个或多个逻辑卷(LV)。每个逻辑卷由一个或多个逻辑分区组成。每个逻辑分区至少对应一个物理分区。如果指定为逻辑卷制作镜像,就需要分配额外的物理分区存储每个逻辑分区的额外副本。虽然逻辑分区是连续编号的,但底层的物理分区不必连续或邻接。逻辑卷可为许多系统用途提供服务(例如页面调度),但是每个容纳常规系统数据或用户数据或程序的逻辑卷都包含一个单独的日志文件系统(JF

3、S 或增强的 JFS)。每个 JFS 由页大小(4096 字节)块的池组成。当数据要写入某个文件中时,会为那个文件分配一个或多个额外的块。这些块彼此之间和与先前分配给这个文件的其它块之间可能邻接也可能不邻接。为了便于说明,上图显示了一个文件系统中可能发生的糟糕(但可能不是最糟糕)情况,这个文件系统已经使用了很长时间且没有重新组织过。文件 /op/filename 物理记录在很多块上,这些块在物理位置上相互远离。顺序读取这个文件将导致许多费时的寻道操作。虽然操作系统的文件在概念上是一个顺序且邻接的字节字符串,但物理实现可能非常不同。在一个文件系统中对逻辑卷的多次扩展和分配释放再分配活动可能出现磁

4、盘碎片。当一个文件系统的可用空间由大量小块空间组成,那么它是成碎片的,就不可能在邻接的块中写出新的文件。在高度碎片化的文件系统中访问文件可能导致大量的寻道操作和较长的 I/O 响应时间(寻道等待时间决定 I/O 响应时间)。例如,如果顺序访问文件,那么由大量广泛分散的小块组成的文件布局需要的寻道操作比由一个或几个大的邻接块组成的文件布局要多。如果随机访问文件,那么广泛分散的布局比文件块紧密相连的布局需要更长的寻道时间。当文件缓存在内存中时,文件布局对于 I/O 性能的影响减小。在操作系统中打开一个文件时,它被映射到虚拟内存中一个持久数据段。这个段代表该文件的虚拟缓冲区;文件的块直接映射到段的页

5、面中。VMM 管理段页面,根据需要读取文件块到段页面中(当它们被访问时)。有几种环境会导致 VMM 将一页写回到磁盘上文件中相应的块;但是如果某页最近已经被访问,VMM 通常会在内存中保留该页。因此,频繁访问的页倾向于在内存中停留较长时间,所以不需要物理磁盘访问就可满足对相应块的逻辑文件访问。在某些地方,用户或系统管理员可选择在逻辑卷中重新组织文件布局以及在物理卷中重新组织逻辑卷布局,从而减少磁盘碎片以及更均匀地分配总的 I/O 负载。顺序存取向前读取VMM 通过观察程序访问文件的模式试着预测未来对于一个顺序文件页面的需求。当程序访问文件的两个连续页面时,VMM 就假设该程序将继续顺序访问该文

6、件,并且 VMM 调度额外的顺序读取操作来读该文件。随着程序的处理这些读取操作会重叠,如果在开始 I/O 前 VMM 已经在等待程序访问下一个页面的话,这些读操作将使程序能更快地使用数据。要向前读取的页面数由两个 VMM 阈值决定。minpgahead VMM 最初检测到顺序存取模式时向前读取的页数。如果程序继续顺序访问文件,则接下来的向前读取将是 minpgahead 的 2 倍,再接下去是 minpgahead 的 4 倍,这样继续下去直到页面数达到 maxpgahead。 maxpgahead VMM 在一个顺序文件中将向前读取的最大页面数。 在增强的 JFS 上向前读取的页面数由两个阈

7、值决定: j2_minPageReadAhead 和 j2_maxPageReadAhead.后写为了增强写性能,可限制内存中脏文件页的数量、减小系统的开销以及使磁盘碎片最小化,文件系统将每个文件分成一些 16 KB 的分区。直到程序写下一个 16 KB 分区的第一个字节时,给定分区的页面才会写到磁盘上。在那个时候,文件系统强行将第一个分区的四个脏页写到磁盘上。数据页保留在内存中直到它们的帧被重用,这时不需要额外的 I/O。如果在重用页面的帧之前程序访问它们中的任何一个,则不需要 I/O。如果有大量的脏文件页保留在内存中且未被重用,则 sync 守护程序将它们写到磁盘,这可能导致异常的磁盘利用

8、。为了将 I/O 活动更有效地分配到工作负荷中,可以使用后写告诉系统在将页面写到磁盘之前内存中保留了多少页。后写阈值是基于每个文件的,它使得页面在 sync 守护程序运行之前被写到磁盘。这样 I/O 更加均匀地分布在整个工作负荷中。有两种类型的后写:顺序和随机。使用命令 vmtune可改变后写分区的大小和后写阈值。内存映射文件和后写普通文件自动映射到段以提供映射的文件。这意味着普通文件访问绕过了传统的内核缓冲区和块 I/O 例程,当有额外的可用内存(文件高速缓存不仅局限于已声明的内核缓冲区区域)时允许文件使用更多的内存。使用子例程 shmat() 或 mmap() 可显式地映射文件,但这不会为

9、它们的高速缓存提供额外的内存。应用程序使用子例程 shmat() 或 mmap() 显式地映射文件,用地址而不是用子例程 read() 和 write() 来访问文件,这样可避免系统调用在路径长度上的一些开销,但是却失去了系统后写功能的好处。当应用程序不使用 write() 子例程时,修改的页面易于堆积在内存中并且当它们被 VMM 页面替换算法或 sync 守护程序清除时随机写入。这导致对磁盘进行许多小的写操作,引起 CPU 和磁盘利用率的低下,同时磁盘碎片可能会减慢未来的读文件速度。磁盘 I/O 调步因为绝大多数写操作是异步的,可以建立几兆字节的 FIFO I/O 队列,这个操作完成需要几秒时间。如果每次磁盘读取都要花费几秒使它通过队列,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论