cat /sys/block/{DEVICE-NAME}/queue/scheduler

cat /sys/block/sd*/queue/scheduler

例:输出结果如下

noop anticipatory deadline [cfq]

设置当前IO

echo {SCHEDULER-NAME} > /sys/block/{DEVICE-NAME}/queue/scheduler

echo noop > /sys/block/hda/queue/scheduler

对IO调度使用的建议

Deadline I/O scheduler 使用轮询的调度器,简洁小巧,提供了最小的读取延迟和尚佳的吞吐量,特别适合于读取较多的环境(比如数据库,Oracle 10G 之类).

Anticipatory I/O scheduler 假设一个块设备只有一个物理查找磁头(例如一个单独的SATA硬盘),将多个随机的小写入流合并成一个大写入流,用写入延时换取最大的写入吞吐量.适用于大多数环境,特别是写入较多的环境(比如文件服务器)Web,App等应用我们可以采纳as调度.

CFQ I/O scheduler使用QoS策略为所有任务分配等量的带宽,避免进程被饿死并实现了较低的延迟,可以认为是上述两种调度器的折中.适用于有大量进程的多用户系统.

我在生产环境中测试过一台机器本来流量只有350M的样子,有时压力就不行了,流量也上不去了,因为读比较多, 所以使用deadline后,流量上升了50M,从流量之类的图上也见到稳定很多.

linux启动时设置默认IO调度

让系统启动时就使用默认的IO方法,只需在grub.conf文件中加入类似如下行

kernel /vmlinuz-2.6.24 ro root=/dev/sda1 elevator=deadline

有关IO的几个内核参数

/proc/sys/vm/dirty_ratio

这个参数控制文件系统的文件系统写缓冲区的大小,单位是百分比,表示系统内存的百分比,表示当写缓冲使用到系统内存多少的时候,开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值,一般启动上缺省是 10。下面是增大的方法:

echo ‘40′> /proc/sys/vm/dirty_ratio

/proc/sys/vm/dirty_background_ratio

这个参数控制文件系统的pdflush进程,在何时刷新磁盘。单位是百分比,表示系统内存的百分比,意思是当写缓冲使用到系统内存多少的时候,pdflush开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该 降低其数值,一般启动上缺省是 5。下面是增大的方法:

echo ‘20′ > /proc/sys/vm/dirty_background_ratio

/proc/sys/vm/dirty_writeback_centisecs

这个参数控制内核的脏数据刷新进程pdflush的运行间隔。单位是 1/100 秒。缺省数值是500,也就是 5 秒。如果你的系统是持续地写入动作,那么实际上还是降低这个数值比较好,这样可以把尖峰的写操作削平成多次写操作。设置方法如下:

echo ‘200′ > /proc/sys/vm/dirty_writeback_centisecs

如果你的系统是短期地尖峰式的写操作,并且写入数据不大(几十M/次)且内存有比较多富裕,那么应该增大此数值:

echo ‘1000′ > /proc/sys/vm/dirty_writeback_centisecs

/proc/sys/vm/dirty_expire_centisecs

这个参数声明Linux内核写缓冲区里面的数据多“旧”了之后,pdflush进程就开始考虑写到磁盘中去。单位是 1/100秒。缺省是30000,也就是30秒的数据就算旧了,将会刷新磁盘。对于特别重载的写操作来说,这个值适当缩小也是好的,但也不能缩小太多,因为缩小太多也会导致IO提高太快。建议设置为 1500,也就是15秒算旧。

echo ‘1500′ > /proc/sys/vm/dirty_expire_centisecs

当然,如果你的系统内存比较大,并且写入模式是间歇式的,并且每次写入的数据不大(比如几十M),那么这个值还是大些的好。

linux i查看o性能度量,在linux系统中I/O 调度的选择相关推荐

  1. linux i查看o性能度量,11.9.18 学习笔记:性能管理

    性能监视 ※DBA必须定期监视性能以查找瓶颈所在,然后更正问题 监控内容包括: 内存分配问题 I/O设备争用 资源争用 应用程序代码问题 网络瓶颈 ※从网络性能和I/O速度到运行单个程序操作所花费的时 ...

  2. linux下查看进程的线程数,linux查看进程的线程数

    top -H -p $PID  #查看对应进程的那个线程占用CPU过高 1.top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程.否则,它一行 ...

  3. linux 进程状态显示dl,Linux系统中的实时调度器DL调度器的原理是什么?详细概述...

    一.概述 实时系统是这样的一种计算系统:当事件发生后,它必须在确定的时间范围内做出响应.在实时系统中,产生正确的结果不仅依赖于系统正确的逻辑动作,而且依赖于逻辑动作的时序.换句话说,当系统收到某个请求 ...

  4. linux怎么查看数据库性能,正确评估SQL数据库性能,你必须知道的原理和方法!...

    原标题:正确评估SQL数据库性能,你必须知道的原理和方法! 作者:阿特 来源: http://blog.csdn.net/capsicum29/article/details/71480799 数据库 ...

  5. linux命令查看cpu负载,怎么使用Linux命令查看CPU使用率

    在Linux系统操作中,有时需要查看cpu的使用率,这就需要用到Linux命令了,Linux查看cpu使用率的命令主要有4个,即top.vmstat.mpstat和prstat命令,一起来了解下吧. ...

  6. Linux怎么查看保存的密码,在Linux中查看已保存的WiFi密码

    在安装流行操作系统时,如 Windows 10.Ubuntu.macOS 等,都会要求用户提前输入 WiFi 密码.特别是 Ubuntu 系统,在配置安装向导时就可以连接 WiFi,以方便在系统安装过 ...

  7. linux查看主板最大内存容量,Linux下查看内存插槽数、最大...-linux下手动清理内存或缓存的...-查看linux主板内存槽与内存信息的方法详解_169IT.COM...

    一.先来看几个用dmidecode查看内存信息的例子. 1.查看内存槽数.那个槽位插了内存,大小是多少 代码示例: dmidecode|grep -P -A5 "Memory\s+Devic ...

  8. linux 下查看某个端口是否打开,linux如何查看某个端口是否开放

    1.你可以使用 lsof 命令来查看某一端口是否开放.查看端口可以这样来使用,我就以80端口为例: lsof -i:80 或者 lsof -i:22 如果有显示说明已经开放了,如果没有显示说明没有开放 ...

  9. linux下查看硬盘型号等信息,linux下如何查看硬盘型号等信息

    在linux系统中查看硬盘信息,比如硬盘型号,可以用smartctl,hdparm等命令来查询. 1,在日志中显示硬盘有坏扇区 复制代码 代码示例: tail /var/log/messages Ma ...

最新文章

  1. Windows消息机制详解
  2. Kotlin入门(7)循环语句的操作
  3. springmvc文件下载之文件名下划线问题终极解决方案
  4. Windows 10 再香,国内超一半用户「死守」停更的 Windows 7
  5. Java 已老,Kotlin 或将取而代之!
  6. Java实现opendir的api_api代码生成
  7. Atitit easyui翻页组件与vue的集成解决方案attilax总结
  8. 熊猫直播显示连接服务器失败,熊猫直播提示加载失败,请按“菜单键”刷新解决办法...
  9. Linux数据库迁移
  10. MD5在文件中的使用
  11. GAN网络详解(从零入门)
  12. 昔日深圳打工妹周群飞或成中国新女首富
  13. sqlite多行插入_在SQLite中插入多行
  14. 【计算机视觉】数字图像处理(六)—— 图像压缩
  15. 本机IP地址,ios的IP地址,www.ip138.com,
  16. 思维导图---考研高数---中值定理---套路归纳---汤家凤
  17. 尚硅谷java基础学习笔记
  18. ArcGIS依照谷歌地球空间校正
  19. 如何编辑和浏览Mysql源码---source insight
  20. 八年级信息技术第五课用计算机写作,第十一课“用计算机写作”ppt课件2信息技术七上.ppt...

热门文章

  1. android 获取monkey日志_Monkey日志如何分析
  2. Python+OpenCV:图像Harris角点检测(Harris Corner Detection)
  3. SHFormatDrive格式化硬盘
  4. 锤击测试使用指数窗会引起什么问题吗?
  5. Android ConstraintLayout 最新使用小结
  6. 【JavaScript】离开页面前提示
  7. 六、物理数据模型(PDM逆向工程)
  8. qml WebEngineView zoomFactor 性质设置问题
  9. cms查询系统(二)json形式参数的设计与解析
  10. 纸上谈兵: 最短路径与贪婪