使用 onstat-g ioq 命令可确定您是否需要分配其他的 AIO 虚拟处理器。
图: onstat-g ioq 和 onstat -d 输出
onstat -g ioq AIO I/O queues: q name/id len maxlen totalops dskread dskwrite dskcopy adt 0 0 0 0 0 0 0 msc 0 0 1 12 0 0 0 aio 0 0 4 89 68 0 0 pio 0 0 1 1 0 1 0 lio 0 0 1 17 0 17 0 kio 0 0 0 0 0 0 0 gfd 3 0 3 254 242 12 0 gfd 4 0 17 614 261 353 0 onstat -d Dbspaces address number flags fchunk nchunks flags owner name a1de1d8 1 1 1 1 N gbasedbt rootdbs a1df550 2 1 2 1 N gbasedbt space1 2 active, 32,678 maximum Chunks address chk/dbs offset size free bpages flags pathname a1de320 1 1 0 75000 66447 PO- /ix/root_chunk a1df698 2 2 0 500 447 PO- /ix//chunk1 2 active, 32,678 maximum
AIO 虚拟处理器维护的每个块在 onstat-g ioq 输出中均具有一行(由 q name 列中的值 gfd 标识)。可以将 onstat -g ioq 中的行与实际块相关联,因为这些块与 onstat -d 输出处于同样的顺序。 例如,在 onstat-g ioq 输出中,有两个 gfd 队列。第一个 gfd 队列保存 root_chunk 的请求,因为它与 onstat -d 输出中显示的第一个块相对应。同样,第二个 gfd 队列保存 chunk1 的请求,因为它与 onstat -d 输出内的第二个块相应。
如果数据库服务器既有裸设备又有熟文件(即已缓冲的文件),那么 gfd 队列仅与 onstat -d 输出中格式化的文件相应。