今天是2014-01-07,解决一下hp-unix异步I/O问题。

从trace日志中看:
WARNING:Could not increase the asynch I/O limit to 32 for SQL direct I/O. It is set to 0
WARNING:Could not increase the asynch I/O limit to 64 for SQL direct I/O. It is set to 0
WARNING:Could not increase the asynch I/O limit to 64 for SQL direct I/O. It is set to 0
WARNING:Could not increase the asynch I/O limit to 96 for SQL direct I/O. It is set to 0
WARNING:Could not increase the asynch I/O limit to 64 for SQL direct I/O. It is set to 0
WARNING:Could not increase the asynch I/O limit to 96 for SQL direct I/O. It is set to 0
*** 2014-01-07 09:18:51.911
WARNING:Could not increase the asynch I/O limit to 64 for SQL direct I/O. It is set to 0
WARNING:Could not increase the asynch I/O limit to 96 for SQL direct I/O. It is set to 0
WARNING:Could not increase the asynch I/O limit to 128 for SQL direct I/O. It is set to 0
*** 2014-01-07 09:19:03.482
WARNING:Could not increase the asynch I/O limit to 64 for SQL direct I/O. It is set to 0
WARNING:Could not increase the asynch I/O limit to 128 for SQL direct I/O. It is set to 0

可以看到是数据库异步I/0出现问题。问题排查有两个方面,数据库方面和主机方面:
第一:排查数据库:
主要有如下参数:
filesystemio_options=asynch
 disk_asynch_io=TRUE
 tape_asynch_io=TRUE
 dbwr_io_slaves=0
 backup_tape_io_slaves=FALSE
经过排查参数设置没有问题。
第二:主机侧问题。
因为机器是hp-unix,需要关注如下参数:
The following kernel parameters are used for managing asynchronous I/O operations. The first four are related to POSIX asynchronous I/O operations; the last pertains to open ports between processes and the asynchronous disk-I/O driver:

aio_listio_max
Specifies how many POSIX asynchronous I/O operations are allowed in a single listio() call.

aio_max_ops
System-wide maximum number of POSIX asynchronous I/O operations that are allowed at any given time.

aio_physmem_pct
Maximum total system memory that can be locked for use in POSIX asynchronous I/O operations.

aio_prio_delta_max
Maximum priority offset allowed in a POSIX asynchronous I/O control block (aiocb).

max_async_ports
Maximum number of ports to the asynchronous disk-I/O driver that processes can have open at any given time.

另外主机检查是否已经配置了异步i/0参考官网文档:
http://docs.oracle.com/cd/B19306_01/server.102/b15658/appb_hpux.htm#i637036
  但是在本例中看出,已经启动了部分进程的异步I/O。但是只有50个。
orarep@pmsdb2[/dev]$/usr/sbin/fuser /dev/async
/dev/async:    18635o   11336o   11376o    8833o   18637o    4527o    5834o   10723o   18643o    7740o    5751o   18647o   11330o   11348o   11370o   18639o    2486o   11354o    7738o   11391o   11346o    5795o   11334o   10719o   11389o    5867o   10721o   11356o    8835o    5749o   12291o     390o    3617o   11352o   11344o   11340o   18645o   11338o   11342o    4029o   11372o   11350o   11358o    5785o   11328o   11332o     388o    5779o

orarep@pmsdb2[/dev]$ps  -ef | grep ora_dbw3_repdb
  orarep 11340     1  0 12ÔÂ 31  ?         2:13 ora_dbw3_repdb
  orarep  6010   170  3 09:49:44 pts/6     0:00 grep ora_dbw3_repdb
orarep@pmsdb2[/dev]$

进一步确认max_async_ports 内核参数:如下:
Description
max_async_ports limits the total number of open ports to the ansynchronous disk-I/O driver that processes on the system can have at any given time (this has nothing to do with any RS-232 asynchronous data-communications interfaces). The system allocates an array of port structures for each port when it is opened that is used for all communication between the process and the asynchronous disk driver. The number of asynchronous ports required by a given application is usually specified in the documentation for that application (such as database applications software, video management software, etc.).

To determine a suitable value for max_async_ports:

Determine how many ports are required for each application and/or process that uses asynchronous disk I/O.

Determine which of these applications will be running simultaneously as separate processes. Also determine whether multiple copies of an application will be running at the same time as separate processes.

Based on these numbers, determine the maximum number of open ports to the asynchronous disk driver that will be needed by all processes any given time to obtain a reasonable total.

Set max_async_ports to a value that is not less than this number.
查看该内核参数:
orarep@pmsdb2[/dev]$/usr/sbin/kctune max_async_ports
Tunable          Value  Expression 
max_async_ports     50  Default    
orarep@pmsdb2[/dev]$
问题可以看出来,在系统高并发下只有50个异步进程。因此需要调整 该值为实际最大process值。

另外有bug也会出现这种问题:Bug 10208905  "WARNING:Could not increase the asynch I/O limit ..." messages in trace file

转载于:https://www.cnblogs.com/riasky/p/3508747.html

WARNING:Could not increase the asynch I/O limit to 64 for SQL direct I/O. It is set to 0相关推荐

  1. MariaDB [Warning] Could not increase number of max_open_files to more than 1024

    启动mariadb,查看mariadb状态信息时: systemctl start mariadb systemctl -l status mariadb 1 2 报错 在这里插入图片描述 [Warn ...

  2. Warning: POST Content-Length of 29328854 bytes exceeds the limit of 8388608 bytes in Unknown on line

    报错:Warning: POST Content-Length of 29328854 bytes exceeds the limit of 8388608 bytes in Unknown on l ...

  3. MDK解决方案:Warning L6989W

    在使用STM32L4系列单片机,使用数学函数以及DSP库的时候,有时会出现以下警告 Warning: L6989W: Could not apply patch sdcomp-29491-629360 ...

  4. ORA-3136错误分析——WARNING Inbound Connection Timed Out

    概要说明 WARNING: inbound connection timed out (ORA-3136) 这个错误我以前一直没有遇到过,今天早上客户在MSN上,他的一台Oracle Server很忙 ...

  5. python runtimewarning_训练神经网络,numpy出现runtime warning的解决思路

    在使用numpy进行神经网络算法计算的时候,有的时候会遇到Runtime Warning,比如下面的这样的显示: >> test.test5() MNIST data is loaded. ...

  6. oracle heavy swapping,WARNING: Heavy swapping observed on system in last 5 mins

    客户的环境是Oracle Database 11.2.0.3 for IBM AIX,在告警日志中查看到如下信息: Fri May 03 23:22:47 2013 WARNING: Heavy sw ...

  7. WARNING: Heavy swapping observed on system in last 5 mins.

    问题背景: 客户反馈数据宕机,协助查看原因 1.查看alert日志 1 opiodr aborting process unknown ospid (32412) as a result of ORA ...

  8. C++常见编译WARNING小结

    首先要说的是大家不要对Warning视而不见,有时候通过Warning确实可以找到一些隐患.其次,未来新增代码应不允许Warning出现,有Warning需要修改掉.以下是常见的Warning小结. ...

  9. 解决Python使用pip时提示:WARNING: Ignoring invalid distribution -ywin32等信息

    解决Python使用pip时提示:WARNING: Ignoring invalid distribution -ywin32等信息 目前作者知道有两种方法可以解决 回退版本 删除WARNING的包 ...

最新文章

  1. aosp 本地版本管理_本地代码版本管理
  2. iOS 正确选择图片加载方式
  3. 07、08 条件渲染、列表渲染
  4. (STL,vector)木块问题
  5. C++语言基础 —— STL —— 容器与迭代器 —— vector
  6. 深入浅出 eBPF: (Linux/Kernel/XDP/BCC/BPFTrace/Cillium)
  7. httpd的一些知识点
  8. [ROS-Beginner]6.理解ROS的Topics
  9. myeclipse 创建work set 后不显示的解决方法
  10. cvCanny() 边缘检测
  11. 信息安全工程师(软考资料)
  12. python pdf转excel
  13. 伺服电机抖动原因分析
  14. .San(三). Xia(峡).对长江二号洪水削峰作用总结
  15. struts2与常用表格ajax操作的json传值问题
  16. ObjC开发-常用第三方开源框架介绍
  17. VS2010 旗舰版序列号
  18. cc.Layout代码设置裁剪
  19. 全球响应,维谛技术(Vertiv)助力EPC企业出海“加速度”
  20. 学习笔记:Bulletproofs Frozen Heart

热门文章

  1. 美国公布自动驾驶政策 高通推出aptX Voice音频技术
  2. 俞栋谈腾讯AI Lab方向和进展;腾讯AI加速器第二期开始招募
  3. 万圣节快乐—用Python画一个南瓜头
  4. Win10 ssh远程关机
  5. 强大到离谱!硬核解读Stable Diffusion(完整版)
  6. 正确使用南方航空(南航)的推荐码
  7. phpcms入门模板配置文件修改
  8. 文件下载中文文件名不显示
  9. [资料] 555集成电路应用800例(新编版)
  10. PHP 淘宝API发布产品 taobao.item.add