Я пытаюсь увеличить глубину очереди моего SSD с помощью следующей команды:
echo 64 > /sys/block/sda/device/queue_depth
Но я получаю следующую ошибку:
bash: echo: write error: Invalid argument
Я пробовал использовать tee
и даже редакторы вроде vim
и nano
но все равно вижу эту ошибку. На этом сервере 4 SSD (sd[ad]) и эта ошибка возникает для всех них.
ОС - этоCentOS7и версия ядра3.10.0-327.18.2.el7.x86_64.
решение1
Может быть, ваш 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. Проверьте /proc/cmdline
или libata.force=noncq
подобное.
Были некоторые ошибки, связанные с NCQ, в частности с SSD. Вам следует провести несколько тестов, чтобы проверить, приносит ли NCQ какую-либо пользу, и несколько тестов, работает ли (поставленный в очередь) TRIM без повреждения данных (текущие ядра исправляют эти проблемы только путем внесения некоторых устройств в черный список).