Unable to change queue parameter for nr_requests on nvme device

本文探讨了在Red Hat Enterprise Linux系统中,NVMe设备的IO调度机制与传统sd设备的区别。指出NVMe设备不适用nr_requests参数,因为它们采用的是基于blk-mq的IO处理机制,而非传统的IO调度器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://access.redhat.com/solutions/3429731

Unable to change queue parameter for nr_requests on nvme device

 SOLUTION 已验证 - 已更新 2018年九月25日01:40 - 

English 

环境

  • Red Hat Enterprise Linux 4
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Intel PCIe Data Center (DC) SSD NVME controller

问题

  • When changing the parameter of /sys/block/nvme1/queue/nr_requests from 128 to 512 the system outputs errors like:

    Raw

    # echo 512 > /sys/block/nvme1/queue/nr_requests
    -bash: echo: write error: Invalid argument
    

决议

As nvme devices do not use the regular IO scheduler mechanism used by sd devices, the nr_request parameter is not applicable to nvme stack. The IO handling mechanism in nvme uses blk-mq.

根源

IO scheduler is currently not supported in NVMe.

nr_requests specifies the maximum number of read and write requests that can be queued at one time. The default value is 128, which means that 128 read requests and 128 write requests can be queued before the next process to request a read or write is put to sleep.

NVM Express is based on a paired Submission and Completion Queue mechanism. Commands are placed by host software into the Submission Queue. Completions are placed into an associated Completion Queue by the controller.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值