oracle 11.2 asynch descriptor resize等待事件

时间:2022-09-02 04:21:02

asynch descriptor resize描述
最近部分insert /*+ append */语句出现该等待时间,经查
This event is set when the number of asynch descriptor reserved inside the OS kernel has to be readjusted.It is signaled when the number of asynch I/O's submitted by a process has to be increased. The Linux kernel does not allow the limit to be increased when there are outstanding I/O's inside the kernel. Hence, all outstanding I/O's are reaped before the limit is increased. The wait to reap all the outstanding I/O's when the limit is increased uses this event.

查找相关资料:

Applies to:Oracle Server - Enterprise Edition - Version: 11.1.0.6 to 11.2.0.2 - Release: 11.1 to 11.2

Information in this document applies to any platform.PurposeTo understand this undocumented wait event.asynch descriptor resizeThis event is set when the number of asynch descriptor reserved inside the OS kernel has to be readjusted.It is signaled when the number of asynch I/O's submitted by a process has to be increased. The Linux kernel does not allow the limit to be increased when there are outstanding I/O's inside the kernel. Hence, all outstanding I/O's are reaped before the limit is increased. The wait to reap all the outstanding I/O's when the limit is increased uses this event.Note 1273748.1 Cause What this event means is that sessions are doing more async IO than the OS settings expect and so have to 'wait' for this to be adjusted. See:Note:1081977.1 asynch descriptor resizeHowever because the wait time is insignificant this does not seem to be an issue. What is more likely to be a problem is the activity of the sessions 'waiting' for the event - it may be that their IO activity needs to be adjusted.

Bug 9829397  Excessive CPU and many "asynch descriptor resize" waits for SQL using Async IO  但是我们进程cpu占用不高,所以不是该bug。

[oracle@ta fs]$ more  /etc/sysctl.conf | grep aio-max-nr
fs.aio-max-nr = 1048576   # 该值足够大

If you set DISK_ASYNCH_IO to false, then you should also set DBWR_IO_SLAVES to a value other than its default of zero in order to simulate asynchronous I/O.

SQL> show parameter  DISK_ASYNCH_IO

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
disk_asynch_io                       boolean     TRUE
但是这个参数调整了副作用太大。打算应用层优化了。