跳过导航链接 | |
退出打印视图 | |
Sun QFS 文件系统 5.3 配置和管理指南 Sun QFS and Sun Storage Archive Manager 5.3 Information Library (简体中文) |
本节提供了有关分页 I/O、直接 I/O 以及在它们之间进行切换的信息。
使用分页 I/O 时,用户数据被缓存到虚拟内存页中,继而内核将此数据写入磁盘。标准 Oracle Solaris OS 接口负责管理分页 I/O。默认情况下选择分页 I/O(也称为缓冲 I/O 或缓存 I/O)。
直接 I/O 是直接在用户的缓冲区与磁盘之间传输数据的过程。这意味着系统花费的时间将少得多。为获得更好的性能,请仅对大型块对齐连续 I/O 指定直接 I/O。
setfa 命令和 sam_setfa 库例程均具有 -D 选项,该选项为文件或目录设置直接 I/O 属性。如果应用于目录,则在此目录中创建的文件和目录将继承直接 I/O 属性。设置 -D 选项后,文件将使用直接 I/O。
您也可以使用 Solaris OS directio 函数调用,为文件选择直接 I/O。如果使用函数调用启用直接 I/O,则该设置仅持续到文件活动状态结束为止。
要对整个文件系统启用直接 I/O,请执行以下操作之一:
在 mount 命令中指定 -o forcedirectio 选项。
在 /etc/vfstab 文件的挂载选项列中输入 forcedirectio 关键字,或者将该关键字用作 samfs.cmd 文件中的指令。
有关更多信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的 setfa(1)、sam_setfa(3)、samfs.cmd(4)、directio (3C) 和 mount_samfs(1M) 手册页。
默认情况下,系统执行分页 I/O 并禁用 I/O 切换。但是,Sun QFS 文件系统支持自动 I/O 切换,通过该过程发生特定量(该量由站点定义)的分页 I/O 之后,系统将自动切换到直接 I/O。
I/O切换可减少大型 I/O 操作中的页面高速缓存使用量。要启用 I/O 切换,请使用 samu(1M),或以 dio_wr_consec 和 dio_rd_consec 参数作为 samfs.cmd 文件中的指令或作为 mount 命令的选项。
有关这些选项的更多信息,请参见《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"mount_samfs(1M)"或《Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual》中的"samfs.cmd(4)"。