aio、cio、dio无论关于操作系统还是数据库中都经常提到的概念,在IBM的官方网站可以查到相关详细的资料这里我只简单的介绍下,便于大家平时看资料时候更好理解相关概念
AIO CIO DIO

<$$$$$$$$$$$$$$$$$$>
AIO控制的是 读写是顺序的,还是异步的
Dio控制的是否跳过文件缓存 (即可能是顺序也可以是异步)
CIO是在DIO基础上跳过INODE锁(即可能是顺序也可以是异步)
<$$$$$$$$$$$$$$$$$$>
Asynchronous I/O,在 AIO 的工作模式下,应用程序向操作系统发起 I/O 请求(读 / 写)以后,不必等 I/O 完成,即可发起新的 I/O 请求。通过这种方法,可以提示提升 I/O 吞吐量和性能。从 AIX5L 起,AIX 支持两种 AIO:legacy AIO 和 POSIX AIO。AIO 既支持文件系统也支持裸设备。
AIO对文件系统的支持:APP/DB---AIO---AIOSERVER---storage
AIO对裸设备的支持:APP/DB---AIXKERNEL---storage
Fastpath 不需要 AIO Server 来处理 I/O 请求,它可以减少 CPU 上下文切换,降低 CPU 开销。
通过控制内核参数开启关闭AIO功能,AIO 在 AIX6.1 中默认是打开的,它既支持文件系统,也支持裸设备。
AIO 对于裸设备的支持与 CIO 对文件系统支持的方式类似,都是通过“FastPath”来实现。前者受内核参数 fastpath 控制,后者受内核参数 fsfastpath 控制。在 AIX6.1 中,这两个参数默认都是设置为 1。
#ioo -F -a |grep -i path
aio_fastpath = 1
aio_fsfastpath = 1
AIO 相关的内核参数。
#ioo -F -a |grep -i aio
aio_maxreqs = 131072
aio_maxservers = 30
aio_minservers = 3
配置可以使用可以使用 chdev 命令或者 smit fastpath 来修改参数
<$$$$$$$$$$$$$$$$$$>
DIO 的全称为 Direct I/O,即直接 I/O。在 DIO 的工作模式下,数据直接从磁盘传送到应用的缓存,而不经过文件的 buffer cache。
通过控制文件系统属性来开启关闭DIO功能。
#mount -o cio /weixinyu
chfs -a options=rw,cio /weixinyu
<$$$$$$$$$$$$$$$$$$>
CIO 的全称为 Concurrent I/O 即并发 I/O。CIO 的工作模式是建立在 DIO模式基础之上的。
从 AIX 5.2.10 开始,JFS2 支持 CIO 选项,并发 I/O 的实现允许多个线程并发地对同一个文件进行读写数据的操作。在DB2系统里建表空间的时候默认是关闭文件缓存的,就打开了cio功能。。
#mount -o dio /xx
chfs -a options=rw,dio /xx
在v95之后创建表空间的只要文件系统支持或者使用裸设备表空间默认是文件系统选项关闭的,是使用CIO/DIO的。
所以目前容器使用裸设备或者文件系统的在性能方面差别很小了,但是文件系统便于管理,但是还是点差别,文件系统会多一层AIOSERVER,在CPU使用上会更高点(只是一点点),另外在扩展表空间的时候使用裸设备要快些(因为格式化的原因)。

AIX 操作系统中AIO、DIO、CIO 的相关概念介绍 (一)相关推荐

  1. AIX 操作系统中AIO、DIO、CIO 的相关概念介绍 (二)

    AIO AIO 的全称为 Asynchronous I/O,即异步 I/O.在 AIO 的工作模式下,应用程序向操作系统发起 I/O 请求(读 / 写)以后,不必等 I/O 完成,即可发起新的 I/O ...

  2. AIX AIO, DIO, CIO

    AIO, DIO, CIO 这些名词都用于数据(文件)访问的模式,既应用程序用什么方案实现对文件的读写. AIO AIO 的全称为 Asynchronous I/O,既异步 I/O.在 AIO 的工作 ...

  3. AIX 操作系统日常维护须知

    AIX 操作系统日常维护须知目 录1. AIX 常用命令简介2. 文档编辑命令3. 如何查看系统出错信息4. 文件系统的操作5. 如何为系统做备份一.AIX 常用命令简介 1. 关机shutdown ...

  4. AIX 系统中 PVID 的含义与作用

    网址: http://www.eygle.com/digest/2008/06/aix_pvid.html Pvid是aix系统中的ODM LVM用于识别PV的序列号,操作系统通过pvid来识别pv, ...

  5. AIX操作系统版本小知识(转载)

    原地址:http://blog.itpub.net/501889/viewspace-1063490/ 采集地址:https://blog.csdn.net/chaos436/article/deta ...

  6. 小型机oracle命令,IBM 小型机基本知识及AIX操作系统基本命令.doc

    IBM 小型机基本知识及AIX操作系统基本命令 UNIX(AIX)系统常用命令 新客网 XKER.COM 时间:2008-02-15来源:新客网Unix系统? 佚名 点击:次 [新客网aix教程]AI ...

  7. 操作系统中的概念详解

    文章目录 前言 一.操作系统的基础概念介绍 1.并行与并发 2.用户态与内核态 3.执行流 二.内存管理 1.Java程序员眼中的内存 2.线性地址和物理地址 3.进程间通信 三.研究操作系统实现时, ...

  8. linux查看光纤卡微码版本,各操作系统中查看HBA 光纤卡 WWN 号的方法汇总

    各操作系统中查看HBA 光纤卡 WWN 号的方法汇总 我们在日常的工作中经常需要查询HBA卡的WWN号,可是客户的HBA卡已经安装到服务器,且也没有交换机,在存储上看到很多WWN号,不知道主机对应的H ...

  9. linux smit工具,Aix操作系统SMIT工具

    我们来讲解下Aix操作系统SMIT工具的知识.Aix操作系统SMIT工具是UNIX下的一个管理工具,使用户得以通过菜单驱动方式方便地使用AIX,无须牢记UNIX复杂的命令行和参数,使日常系统管理工作变 ...

最新文章

  1. 面向小白的最全 Python 可视化教程,超全的!
  2. 换系统后mysql环境不见了_电脑重装系统后如何恢复Mysql数据库
  3. 机器学习中常见的损失函数
  4. Temporal Segment Networks(TSN)实验及错误日志
  5. PBOC中文件结构,文件类型解析
  6. 构造、拷贝构造、赋值、析构
  7. video禁止谷歌浏览器中出现的视频下载按钮
  8. RF+Excel实现数据驱动接口自动化
  9. 文言文编程可以编译成PHP吗,PSTK项目:文言文也能编程?大四学生发明文言文编程语言...
  10. 帮你写出更好的python代码:python函数应用进阶(一)——函数是对象
  11. 看电影读小说,你就能懂经济学
  12. GoLand No Tests Were Run : 不能使用 fmt.Printf() BUG
  13. (七)打印机驱动设置—认识打印机接口
  14. RecyclerView 刷新Item图片闪烁
  15. CDR中人民币符号怎么打
  16. ubuntu启动报错 hardware error cpu 0 machine check 0 Bank 6、ACPI BIOS Error (bug)Could not resolve symbol
  17. 谷歌插件开发ajax请求,谷歌扩展程序设置ajax请求容许跨域(极少人知道的解决方案)...
  18. 万兆局域网方案_万兆内网初体验
  19. python中scale什么意思啊_python数字图像处理(7):图像的形变与缩放
  20. “钱三篇”后续之汇率(上)

热门文章

  1. 如何能够得到灵敏度更高的150kHz导航信号检测板?
  2. 听说你有病,我这儿可有对症的药
  3. 报错:java.lang.IllegalArgumentException: non null key required 错误
  4. mysql emma 使用教材_emma的使用
  5. python身份运算符的语法规则_7 Python语法入门之与用户交互、运算符
  6. 鸿蒙系统怎么支持安卓应用,鸿蒙系统支持安卓软件吗-鸿蒙系统支持安卓应用吗...
  7. 关于对锐捷光交换机的使用
  8. Java bitset转string_Java 二进制和十进制互转,二进制和BitSet互转
  9. 如何在自己开发的日程管理页面插入提醒功能_微信中6个藏得很深但却很有用的功能...
  10. VS Code关联vivado并安装Verilog插件