Ich versuche, den Warteschlangentiefewert meiner SSD mit dem folgenden Befehl zu erhöhen:
echo 64 > /sys/block/sda/device/queue_depth
Ich erhalte jedoch die folgende Fehlermeldung:
bash: echo: write error: Invalid argument
Ich habe versucht tee
, und sogar Editoren wie vim
und zu verwenden nano
, aber dieser Fehler tritt immer noch auf. Auf diesem Server (sd[ad]) befinden sich 4 SSDs und dieser Fehler tritt bei allen auf.
OS istCentOS 7und Kernel-Version ist3.10.0-327.18.2.el7.x86_64.
Antwort1
Vielleicht unterstützt Ihre SSD diese Warteschlangentiefe nicht?
# 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
Versuchen Sie alternativ mit 1
, 2
, 3
, … die maximale Warteschlangentiefe zu ermitteln, die der Kernel zulässt.
Wenn Sie keine höheren Werte als einstellen können 1
, ist NCQ in Ihrem Kernel möglicherweise generell deaktiviert. Suchen Sie /proc/cmdline
nach libata.force=noncq
oder Ähnlichem.
Es gab einige NCQ-bezogene Fehler, insbesondere bei SSDs. Sie sollten einige Benchmarks durchführen, um zu prüfen, ob NCQ Ihnen überhaupt Vorteile bringt, und einige Tests, ob (warteschlangengebundenes) TRIM ohne Datenbeschädigung funktioniert (aktuelle Kernel beheben diese Probleme nur, indem sie einige Geräte auf die schwarze Liste setzen).