算法和noop算法 | 您所在的位置:网站首页 › linux系统io调度算法修改 › 算法和noop算法 |
概述
今天主要分享下磁盘IO调度算法,虽然对于我们平时只需要设置deadline就行了,不过了解下它的4种算法也还是不错的。 I/O 调度算法I/O 调度算法在各个进程竞争磁盘I/O的时候担当了裁判的角色。他要求请求的次序和时机做最优化的处理,以求得尽可能最好的整体I/O性能。 ![]() Linux 4.0 IO协议栈框架图 I/O调度程序的总结: 1)当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成. 2)每个块设备都有它自己的队列. 3)I/O调度程序负责维护这些队列的顺序,以更有效地利用介质.I/O调度程序将无序的I/O操作变为有序的I/O操作. 4)内核必须首先确定队列中一共有多少个请求,然后才开始进行调度. I/O调度的4种算法 CFQ(完全公平排队I/O调度程序)在最新的内核版本和发行版中,都选择CFQ做为默认的I/O调度器,对于通用的服务器也是最好的选择。CFQ对于多媒体应用(video,audio)和桌面系统是最好的选择。CFQ赋予I/O请求一个优先级,而I/O优先级请求独立于进程优先级,高优先级的进程的读写不能自动地继承高的I/O优先级。 对于很多IO压力较大的场景就并不是很适应,尤其是IO压力 |
CopyRight 2018-2019 实验室设备网 版权所有 |