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