在 AIX6.1 中,使用 ioo 命令可以查看与 AIO 相关的内核参数。

# ioo -F -a |grep -i aio

aio_maxreqs = 131072

aio_maxservers = 30

aio_minservers = 3

kproc 的最小值由系统参数 minservers 决定,最大值由系统参数 maxservers 决定。如果异步 I/O 请求的数量很多,就需要将 maxservers 的数值增大。由于 AIX 内核可以自动生成额外的 kproc,因此在大多数情况下,minservers 的数值不需要手动调整。需要注意的是,minservers 和 maxservers 两个参数只对文件系统有效,对于 AIO 的裸设备模式以及 CIO 的模式是无效的,这两种 I/O 由 FastPath 来处理,而不是 kproc。

在 AIX6.1 中,aio_maxservers 和 aio_minservers 的默认数值分别为 30 和 3,一般认为这两个数值是每个 CPU 的 AIO Server 数量设置。

AIX6.1 中的 maxreqs 参数决定 AIO 系统里可以处理最多并发 I/O 请求的数量。这个参数对于 fast path 的 I/O 类型是不起作用的。我们在调整 minservers 和 maxservers 参数时,也需要监控 maxreqs 数值。

在 AIX6.1 中,可以用如下命令查看运行的 AIO Server 的数量:

# pstat -a |grep -c aios |wc -l

1

# ioo -F -a |grep -i aio_minservers

aio_minservers = 3

# pstat -a |grep -c kproc |wc -l

1

从上面结果可以看出,目前系统中的 AIO 请求很少,只有一个 AIO server 在运行。而 AIO server 的数量与 kproc 的数量,是一致的。

在系统中,如果 maxreqs 和 maxservers 设置的太低低,可能会造成数据库报错或者宕机,查看 Oracle 的 bdump 文件可以发现如下报错:

aio_server_inactivity 参数控制的是 AIO Server 的退出时间:即当 AIO server 空闲的时间超过 aio_server_inactivit 设置的数值时,AIO server 将会退出,默认这个数值默认为 300 秒。

一般情况下,运行的 AIO Server 数量不会低于 aio_minservers 参数的设置,在上面的例子中,之所以出现 AIO Server 的数量低于 aio_minservers 参数设置的数值,是因为该系统是一个空闲的系统,没有任何负载和 AIO 请求。aio_server_inactivity 在 AIX6.1 中一般不需要设置。

aio_active 参数不需要设置,默认为 0。只有当 AIO kernel extensors 被使用时,才会变成 1。

# ioo -a | grep active

aio_active = 0

posix_aio_active = 0

# ioo -o aio_active=1

ioo: 1485-114 Static tunable aio_active cannot be changed

内核aio_AIO 的主要内核参数 | 学步园相关推荐

  1. php源码安装配置,php源码安装时configure配置参数 | 学步园

    在Linux下安装PHP,源代码方式安装,总需要配置很多参数.这里列出常用配置参数,并详细用中文解释说明了. 给大家一些参考./configure –prefix=/usr/local/PHP     ...

  2. java httpget 设置参数_java 模拟HTTP doPost请求 设置参数 | 学步园

    请求模拟 package org.zlex.commons.net; import java.io.DataInputStream; import java.io.DataOutputStream; ...

  3. shmmax单位_linux 内存管理——内核的shmall 和shmmax 参数

    内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好. SHMMIN= 最小的内存seg ...

  4. Oracle 性能优化之内核的shmall 和shmmax 参数

    Oracle 性能优化之内核的shmall 和shmmax 参数 内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 -->这个设置的比SGA_M ...

  5. linux 内核学习11-内核模块参数

    linux 内核学习11-内核模块参数 内核模块作为一个可拓展的动态模块,为Linux内核提供灵活性,所以需要依据不同的场景来传递不同的参数,实现不同的功能 1. 准备工作 #define modul ...

  6. Windows程序员初学Linux内核(附Linux内核各版本历史纪年表)

    我是荔园微风,作为一名在IT界整整25年的老兵,最近受邀给年轻人讲了一场Windows内核和Linux内核相关的讲座.大家听得非常认真.下面我把其中一些PPT放上来和大家分享. Windows内核(右 ...

  7. Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 【转】...

    原文地址:Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinauni ...

  8. linux内核报告,Linux升级内核报告.docx

    Linux升级内核报告精要 我的Linux 内核升级记录 准备工作内核安装包的下载下载地址为: HYPERLINK "/pub/linux/kernel/" /pub/linux/ ...

  9. linux内核编译感想,Linux内核编译小结

    初步了解Linux编译内核: Linux默认内核存放路径为/boot Linux内核的版本号: LINUX采用双树系统:一为稳定树,二为开发树.一般是新特性及实验性改进首先在开发树中进行,经过测试后, ...

最新文章

  1. 程序员的杂想-不要只做一名程序员
  2. python画折线图详解-利用python画出折线图
  3. 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
  4. TCP协议的粘包问题(数据的无边界性)
  5. linux之安装frida遇到的问题
  6. oauth2.0授权码_OAUTH 2.0授权码授予
  7. epoll为什么比select和poll效率更高
  8. oracle sh文件怎么打开,Oracle数据库逻辑备份的SH文件
  9. 数值计算详细笔记(三):线性方程组解法
  10. 如何学习Vim(转)
  11. FlashFXP v5.3.0.3932中文版
  12. 《程序员修炼之道-从小工到专家》读后感
  13. python输出间隔符号_间隔符号?
  14. 微信小程序的开发制作_搭建_工具_模板_一键生成
  15. Android 编程实用代码大全
  16. lol用wegame更新完之后服务器维护,lol使用wegame提示文件被占用更新失败解决方法...
  17. STM32、NBIOT、Lora模块烧写方法-Hex文件烧录步骤详解-新大陆物联网设备-NEWLab开发板
  18. 小灵通退市:生得伟大 死得光荣!
  19. Matlab读取带有汉字的excel表
  20. 洛谷P1014题解 [NOIP1999 普及组] Cantor 表

热门文章

  1. C++ string中的几个小陷阱,你掉进过吗?
  2. Beyond Compare比较Word文件的方法
  3. java文件读写的两种方式
  4. Linux下如何查看哪些端口处于监听状态
  5. 在Foreda8上安装libaio-0.3.105-2.i386.rpm
  6. silverlight实现2D人物动画
  7. python3 元组 tuple 操作
  8. python3 bytes与hex字符串互转
  9. python3 问题 No module named _sqlite3 解决方案
  10. VS修改项目名后出现的提示(warning MSB8028: The intermediate directory (Debug\) contains files shared from anoth)