次のコマンドを使用して、SSDのキュー深度値を増やそうとします。
echo 64 > /sys/block/sda/device/queue_depth
ただし、次のエラーが発生します。
bash: echo: write error: Invalid argument
tee
のvim
ようなエディタを試しましたが、nano
まだこのエラーが表示されます。このサーバーには4つのSSD(sd [ad])があり、このエラーはすべてのSSDで発生します。
オペレーティングシステムはオペレーティングシステム7カーネルバージョンは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
。
特にSSDにはNCQ関連のバグがあります。 NCQがあなたに役立つことを確認するためにいくつかのベンチマークを実行する必要があり、TRIMがデータを損なうことなく動作できることをテストする必要があります(現在のカーネルは、これらの質問に対して特定のデバイスをブラックリストに追加することによってこの問題を解決します)。