Oracle中AIO解析
技术百科
一个新手
发布时间:2017-09-08
浏览: 次 Linux 异步 I/O (AIO)是 Linux 内核中提供的一个增强的功能。它是Linux 2.6 版本内核的一个标准特性,AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等待任何操作完成。稍后或在接收到 I/O 操作完成的通知时,进程就可以检索 I/O 操作的结果。
同步IO:线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行。
异步IO:线程发送一个IO请求到内核,然后继续处理其他的事情,内核完成IO请求后,将会通知线程IO操作完成
1、--查看系统是否使用异步IO 。 slab是Linux的内存分配器,AIO相关的内存结构已经分配。
more /proc/slabinfo |grep kio [root@localhost ~]# grep kio /proc/slabinfo kioctx 0 0 384 10 1 : tunables 54 27 0 : slabdata 0 0 0 kiocb 0 0 256 15 1 : tunables 120 60 0 : slabdata 0 0 0
看到kiocb行显示为0,说明异步IO没有启动。
2、 查看数据库是否开启异步io
(11G)SYS@qixindb> show parameter disk_asynch_io NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ disk_asynch_io boolean TRUE (11G)SYS@qixindb> show parameter filesystem NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ filesystemio_options string none
filesystemio_options 的四种值: ASYNCH: enable asynchronous I/O on file system files, which has no timing requirement for transmission. 在文件系统文件上启用异步I/O,在数据传送上没有计时要求。 DIRECTIO: enable direct I/O on file system files, which bypasses the buffer cache. 在文件系统文件上启用直接I/O,绕过buffer cache。 SETALL: enable both asynchronous and direct I/O on file system files. 在文件系统文件上启用异步和直接I/O。 NONE: disable both asynchronous and direct I/O on file system files. 在文件系统文件上禁用异步和直接I/O。
3、 oracle已经链接了aio的包
[oracle@localhost ~]$ /usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio libaio.so.1 => /lib64/libaio.so.1 (0x0000003e13000000)
说明:检查显示oracle已经链接了aio的包
4、 调整数据库参数 开启aio
数据库中的filesystemio_options参数设置为none,看来oracle中也没有配置异步IO,
这里可以将数据库中的filesystemio_options参数调整为setall;
SQL> alter system set filesystemio_options = setall scope=spfile; SQL> alter system set disk_asynch_io = true scope=spfile; SQL> shutdown immediate; SQL> startup;
5、查看
aio是否生效
[oracle@localhost ~]$ more /proc/slabinfo |grep kio kioctx 130 160 384 10 1 : tunables 54 27 8 : slabdata 16 16 0 kiocb 16 30 256 15 1 : tunables 120 60 8 : slabdata 2 2 1
补充:出现 free buffer waits 等待事件 或者 io不给力的时候, 可以考虑开启aio。
# 它是
# 数据库中
# 将会
# 设置为
# 不给
# 四种
# 其他的
# 文件系统
# 送上
# oracle
# 中也
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Python lxml的etree和Element
- 如何更改Windows资源管理器的默认启动位置?(
- 企业SEO优化选择网站建设模板的技巧
- c++如何判断文件是否存在_c++ filesys
- Win11如何设置文件关联 Win11修改特定文件
- Win11触摸板没反应怎么办_开启Win11笔记本
- PhpStorm怎么调试PHP代码_PhpStor
- Win11怎么更改电脑名称_Windows 11修
- MAC怎么一键隐藏桌面所有图标_MAC极简模式切换
- Win11怎么打开旧版计算器_Win11恢复传统计
- php下载安装包怎么选_threadsafe与nt
- c++中的可变参数模板(variadic temp
- Win11怎么关闭通知中心_Windows11系统
- Win11如何隐藏桌面图标 Win11一键隐藏/显
- c++协程和线程的区别 c++异步编程模型对比【核
- Go 中 := 短变量声明的类型推导机制详解
- php订单日志怎么记录评价_php记录订单评价日志
- php8.4如何配置ssl证书_php8.4htt
- Win10怎样卸载自带Edge_Win10卸载Ed
- Python数据挖掘核心算法实践_聚类分类与特征工
- PHP接收参数值为空怎么办_判断和处理空参数方法说
- 如何在包含多值的列中精准搜索指定演员?
- Mac如何修复应用程序权限问题_Mac磁盘工具修复
- Windows怎样关闭开始菜单广告_Windows
- 短链接怎么用php递归还原_多层加密链接的处理法【
- php8.4如何实现队列任务_php8.4redi
- PHP主流架构怎么监控运行状态_工具推荐【操作】
- Windows 11如何开启文件夹加密(EFS)_
- 如何减少Golang内存碎片化_Golang内存分
- VSC怎么配置PHP的Xdebug_远程调试设置步
- Python脚本参数接收_sys与argparse
- mac怎么分屏_MAC双屏显示与分屏操作技巧【指南
- 如何使用Golang理解结构体指针方法接收者_Go
- windows如何备份注册表_windows导出和
- PHP cURL GET请求:正确设置认证与自定义
- Win11声音太小怎么办_Windows 11开启
- Windows如何设置登录时的欢迎屏幕背景?(锁屏
- Win11怎样安装微信开发者工具_Win11安装开
- 如何在 Django 中修改用户密码后保持会话不丢
- 如何在 Laravel 中通过嵌套关联关系进行 o
- 微信企业付款回调PHP怎么接收_处理企业付款异步通
- c++如何用AFL++进行模糊测试 c++ Fuz
- Mac怎么安装软件_Mac安装dmg与pkg文件的
- 如何在Golang中捕获JSON序列化错误_Gol
- Go 中 defer 语句在 goroutine
- Windows Defender扫描失败怎么办_安
- Win11文件夹预览图不显示怎么办_Win11缩略
- 如何高效删除 NumPy 二维数组中所有元素相同的
- Drupal 中渲染节点时出现 HTML 标签嵌套
- Win10闹钟铃声怎么自定义 Win10闹钟自定义

QQ客服