AIX的异步IO需要bos.rte.aio文件集的支持

#lslpp -l bos.rte.aio
  Fileset                      Level  State      Description        
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  bos.rte.aio               5.3.0.62  COMMITTED  Asynchronous I/O Extension
如何启用AIO

-
#mkdev -l aio0
aio0 Available

#chdev -P -l aio0 -a autoconfig='available'
aio0 changed
查看aio的配置信息

#lsattr -El aio0
autoconfig available STATE to be configured at system restart True
fastpath   enable    State of fast path                       True
kprocprio  39        Server PRIORITY                          True
maxreqs    4096      Maximum number of REQUESTS               True
maxservers 10        MAXIMUM number of servers per cpu        True
minservers 1         MINIMUM number of servers                True
其中,maxreqs表示同一时刻所允许的异步 I/O 请求,包括已经在处理的异步 I/O 请求和等待处理的异步 I/O 请求。maxservers和minservers参数指定了用于处理异步IO的进程数。默认的maxservers=10对于大多数系统来说,应该已经足够了, 这两个参数都是针对文件系统等的aio的,而raw设备的异步IO直接由内核进程完成,不依赖aioserver。autoconfig必须设置为available才会在下次启动时自动激活AIO。

通过如下命令可以查询系统当前aioserver的个数,如果已经达到或者接近maxservers,则需要考虑增加该参数。

#pstat -a | grep aios | wc -l
从AIX5.2开始,支持两种模式的AIO,一种是传统模式的,一种是posix的

#pstat -a | grep aio
 40 a   28088      1  28088     0     0     1  posix_aioserver
 67 a   43002      1  43002     0     0     1  aioserver
Oracle在AIX平台上安装的时候要求必须开启AIO,在rootpre.sh脚本中包含了启动AIO的代码

# Asynchronous I/O
echo "Configuring Asynchronous I/O..." | tee -a $LOG
    aio=`lsdev -C -t aio|awk '{print $2}'`
    case $aio in
      *Available*) echo "Asynchronous I/O is already defined" | tee -a $LOG
                   ;;
      *Defined*)   mkdev -l aio0 | tee -a $LOG
                   chdev -P -l aio0 -a autoconfig='available'
                   ;;
      *)   echo "Asynchronous I/O is not installed on this system." >> $LOG
           cat << END

Asynchronous I/O is not installed on this system.

You will need to install it, and either configure it yourself using
'smit aio' or rerun the Oracle root installation procedure.
END
                ;;
    esac
如何删除AIO

AIO是由内核提供支持的,首先将autoconfig改为defined然后重启系统

#chdev -P -l aio0 -a autoconfig='defined'
如果使用rmdev -dl aio0彻底删除了aio0的定义,则再次使用mkdev -l aio0的时候可能遭遇以下错误:

mkdev: 0514-519 The following device was not found in the customized
        device configuration database:
        name = 'aio0'
这时需要先定义设备,才能添加设备,定义aio0设备可以通过smit aio选择Configure Defined Asynchronous I/O。

转载于:https://www.cnblogs.com/zndavid/archive/2009/05/13/1455321.html

AIX的异步IO设置相关推荐

  1. 意外断电数据库无法启动牵扯到异步IO的参数设置

    一客户机房新装的UPS不太稳定,好几次意外断电,第3次意外断电之后问题终于来了, 数据库起不来了-- 数据库的硬件环境是一台IBM DS5020存储,2台IBM X3850 X5 软件环境是Linux ...

  2. 2021年大数据Flink(四十六):扩展阅读 异步IO

    目录 扩展阅读  异步IO 介绍 异步IO操作的需求 使用Aysnc I/O的前提条件 Async I/O API 案例演示 扩展阅读 原理深入 AsyncDataStream 消息的顺序性 扩展阅读 ...

  3. Python之路-python(Queue队列、进程、Gevent协程、Select\Poll\Epoll异步IO与事件驱动)

    一.进程: 1.语法 2.进程间通讯 3.进程池 二.Gevent协程 三.Select\Poll\Epoll异步IO与事件驱动 一.进程: 1.语法 1 简单的启动线程语法 2 def run(na ...

  4. 操作系统学习:Linux0.12文件异步IO

    本文参考书籍 1.操作系统真相还原 2.Linux内核完全剖析:基于0.12内核 3.x86汇编语言 从实模式到保护模式 4.Linux内核设计的艺术 ps:基于x86硬件的pc系统 Linux0.1 ...

  5. 服务端异步IO配合协程浅析

    服务端异步IO配合协程浅析 代码如下 #coding:utf-8 import socket from selectors import DefaultSelector, EVENT_READ, EV ...

  6. linux oracle io 查看,Linux上Oracle是否使用异步io的诊断

    客户的数据库IO负载较重,检查后发现并未设置异步IO. 整个数据库的负载都集中在IO相关的等待上: Top 5 Timed Foreground Events Event Waits Time(s) ...

  7. Node - 异步IO和事件循环

    前言 学习Node就绕不开异步IO, 异步IO又与事件循环息息相关, 而关于这一块一直没有仔细去了解整理过, 刚好最近在做项目的时候, 有了一些思考就记录了下来, 希望能尽量将这一块的知识整理清楚, ...

  8. python 管道 异步读取 select_Python通过select实现异步IO的方法

    本文实例讲述了Python通过select实现异步IO的方法.分享给大家供大家参考.具体如下: 在Python中使用select与poll比起在C中使用简单得多.select函数的参数是3个列表,包含 ...

  9. PostgreSQL 异步IO实测

    标签 PostgreSQL , effective_io_concurrency , 异步IO 背景 异步IO的目的是充分发挥块设备的吞吐能力,让块设备处于更繁忙的工作状态(一次连续摄取更多的块),而 ...

最新文章

  1. mysqlsql varchar类型只取前四个_Apache Doris0.12.0 发布,进入 Apache 孵化器后第四个正式版本...
  2. echarts如何获取后端的值_Echarts 获取后台数据 使用后台数据展示 柱形图
  3. OpenCV实现最大最小距离聚类算法
  4. 集群管理工具KafkaAdminClient——原理与示例
  5. 《视频直播技术详解》系列之七:现代播放器原理
  6. matlab读取高光谱影像
  7. php mysql 录入_MYSQL+PHP表单录入数据的问题
  8. linux上dig命令,Linux中dig命令起什么作用呢?
  9. Fanuc机器人从控制柜导出GSD文件
  10. kmeans聚类算法python实现_Python实现Kmeans聚类算法
  11. word文档中向下的箭头是什么,怎么去掉
  12. java读取src路径下的txt文件_python--文件操作(基本篇)
  13. 京东商品长图功能来啦 不用改图一键生成长图
  14. 物联网开发常用的开发板_物联网开发人员简介:物联网开发人员调查的结果
  15. 各种Android实现边框
  16. HCIA-Intelligent Computing 题目汇总
  17. 拿到别人提供的虚拟机需要做的几件事情
  18. 学计算机到成铁工作如何,广汉公立的高铁学铁路的学校,高铁职业技术哪些学校好...
  19. Qt快捷键之大小写切换
  20. 嵌入式软件工程师_程序人生一名嵌入式软件工程师的成长总结

热门文章

  1. CVT1100 错误的修复 2009-10-12 11:38
  2. Ubuntu系统下移动宽带自动启用设置
  3. cv2.matchTemplate()函数的应用,匹配图片后画出矩形
  4. Django框架视图类
  5. Hackerrank GCD Product(莫比乌斯反演)
  6. 所引用的程序集没有强命名解决方法
  7. Centos7.3 安装Mysql5.7并修改初始密码
  8. Alamofire 的使用
  9. php单引号双引号的区别
  10. 转在同一个sql语句中如何写不同条件的count数量