为配备NVMe SSD的主机选择正确的Linux I/O调度程序? [英] Selecting the right Linux I/O scheduler for a host equipped with NVMe SSD?

查看:748
本文介绍了为配备NVMe SSD的主机选择正确的Linux I/O调度程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在用C ++为一些主机编写高度并发的软件,所有主机都配备一个ST9500620NS作为系统驱动器,以及一个用于数据的Intel P3700 NVMe Gen3 PCIe SSD卡.为了进一步了解系统以进行软件调试,我在系统周围进行了挖掘(两个E5-2620 v2 @ 2.10GHz CPU,32GB RAM,运行CentOS 7.0),并惊讶地发现了以下内容:

We are writing a highly concurrent software in C++ for a few hosts, all equipped with a single ST9500620NS as the system drive and an Intel P3700 NVMe Gen3 PCIe SSD card for data. Trying to understand the system more for tuning our software, I dug around the system (two E5-2620 v2 @ 2.10GHz CPUs, 32GB RAM, running CentOS 7.0) and was surprised to spot the following:

[root@sc2u0n0 ~]# cat /sys/block/nvme0n1/queue/scheduler 
none

这与我从选择正确的Linux I/O调度程序中学到的所有知识相矛盾,例如从

This contradicts to everything that I learned about selecting the correct Linux I/O scheduler, such as from the official doc on kernel.org.

我知道NVMe是个新手,所以现在我不会碰到现有的调度程序设置.但是对于安装程序的无"设置,我真的感到很奇怪.如果有人对我可以在哪里找到更多信息或分享您的发现有任何暗示,我将不胜感激.到目前为止,我已经花了很多小时在谷歌上搜索,但没有发现任何具体内容.

I understand that NVMe is a new kid on the block, so for now I won't touch the existing scheduler setting. But I really feel odd about the "none" put in by the installer. If anyone who has some hints as to where I can find more info or share your findings, I would be grateful. I have spent many hours googling without finding anything concrete so far.

推荐答案

"none"(又称"noop")是用于此设备的正确调度程序.

"none" (aka "noop") is the correct scheduler to use for this device.

I/O调度程序主要用于排队有限的速度较慢的存储设备(例如,单个机械硬盘驱动器)-I/O调度程序的目的是对I/O请求进行重新排序,以使更重要的请求得到更早的服务.对于内部队列非常大且服务非常快的设备(例如PCIe SSD!),I/O调度程序不会给您带来任何好处.您最好立即将所有请求提交到设备.

I/O schedulers are primarily useful for slower storage devices with limited queueing (e.g, single mechanical hard drives) — the purpose of an I/O scheduler is to reorder I/O requests to get more important ones serviced earlier. For a device with a very large internal queue, and very fast service (like a PCIe SSD!), an I/O scheduler won't do you any good; you're better off just submitting all requests to the device immediately.

这篇关于为配备NVMe SSD的主机选择正确的Linux I/O调度程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆