在 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
<