关于Oracle数据库Kfk: Async Disk IO等待事件深度解析
副标题[/!--empirenews.page--]
概述 一大早运维团队就来找事,说系统又有点卡了,然后发现了一个比较少见的等待事件--kfk: async disk IO,趁着这次排查的过程也简单说下这个等待事件吧! 1、查看TOP N等待事件
![]() 可以发现排在前面的是kfk: async disk IO等待事件。 2、根据等待事件查会话
![]() 3、查询某个会话详情
显示在备份.. ![]() ![]() 4、检查服务器是否在备份? 查看备份日志发现确实是正在做0级全备。 ![]() 5、查看kfk: async disk IO
![]() 6、关于kfk: async disk IO kfk: async disk IO等待事件是ASM下异步的System I/O等待事件,kfk内核层面在disk_asynch_io=true时被激活。当rbal或其他ASM相关后台进程在维护ASM磁盘组时可能进入kfk: async disk IO等待。 先确定一点,kfk: async disk IO是11G后ASM下直接路径操作和ASM维护操作时会遇到的一个等待事件。 先来看大牛的描述吧: ![]() 异步IO的两个函数:io_submit和io_getevents,Oracle是先调用io_submit发起异步IO,然后调用io_getevents查看IO状态。 从图中可以看到,这位大牛认为,io_submit阶段,等待是kfk: async disk IO, 从io_getevents到IO完成,是direct path read。 再来看看紧接着的下幅图: ![]() 在这幅图中,这位大师打开10046,并同时用Truss、Strace类的工具跟踪进程的执行,跟踪结果中,先有io_submit调用,马上就是向10046跟踪文件中写kfk: async disk IO等待。在io_getevents调用后,又紧接着是向10046跟踪文件中写direct path read等待事件。据此,此大师得出结论,io_submit期间,等待事件是kfk: async disk IO,io_getevents则对应direct path read。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |