系统相关
首页 > 系统相关> > linux – 无法编辑/ sys / block / sdX / device / queue_depth文件

linux – 无法编辑/ sys / block / sdX / device / queue_depth文件

作者:互联网

我正在尝试使用以下命令增加SSD的队列深度值:

echo 64 > /sys/block/sda/device/queue_depth

但是我收到以下错误:

bash: echo: write error: Invalid argument

我尝试使用tee甚至像vim和nano这样的编辑器,但仍然看到这个错误.此服务器上有4个SSD(sd [a-d]),并且所有这些都会发生此错误.

操作系统是CentOS 7,内核版本是3.10.0-327.18.2.el7.x86_64.

解决方法:

也许您的SSD不支持此队列深度?

# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
    Model Number:       M4-CT064M4SSD2                          
[...]
Capabilities:
    LBA, IORDY(can be disabled)
    Queue depth: 32

或者,尝试使用1,2,3,…来查找内核允许您使用的最大队列深度.

如果它不允许您设置大于1的值,那么您的内核通常会禁用NCQ.检查libata.force = noncq或类似的/ proc / cmdline.

有一些NCQ相关的错误,特别是SSD.您应该做一些基准来检查NCQ是否以任何方式使您受益,并且一些测试是否(排队)TRIM在不损坏数据的情况下工作(当前内核仅通过将某些设备列入黑名单来解决这些问题).

标签:linux,block-device,scsi,ssd,sysfs
来源: https://codeday.me/bug/20190814/1658647.html