回答:
/ etc / default / grubを編集します。たとえばgksudo gedit /etc/default/grub
、ここでは、elevator = noopを追加する必要があります。
に変更GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
しGRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"
ます。
次に、実行sudo update-grub2
して再起動します。
ハードディスクがであるとします/dev/sda
。次に、現在使用されているスケジューラを確認できます。
cat /sys/block/sda/queue/scheduler
(現在使用中のスケジューラーは[
]
括弧で囲まれます。)
また、noopスケジューラを使用することもできます。
echo noop > /sys/block/sda/queue/scheduler
詳細については、この記事を参照してください。
変更を持続させるために、コマンドをに入れることができます/etc/rc.local
。
sudo echo noop > /sys/block/sda/queue/scheduler
ますか?ユーザーとして実行されるシェルは、出力がリダイレクトされるコマンドを実行する前にリダイレクトを設定するため、これは機能しません。echo noop | sudo tee /sys/block/sda/queue/scheduler
代わりに使用できます。sudoでも「hello」をエコーできない> x.txtを参照してください?とBashでリダイレクトでsudoを使用するときに「許可が拒否されました」を解決する方法は?詳細およびその他のアプローチについて。(もしそれがあなたの言いたいことでないなら、私に知らせてください。)
このDebianリファレンスは、SSDを動的に検出し、それに応じてスケジューラを変更する方法を示しています。
ドライブタイプが異なるシステムでは、udevルールを使用して設定を調整できます(/etc/udev/rules.d/60-ssd-scheduler.rulesを作成します)。
#非回転ディスクの期限スケジューラを設定する
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0",ATTR{queue/scheduler}="deadline"
カーネルが回転状態を検出できることを確認するには:
$ for f in /sys/block/sd?/queue/rotational; do printf "$f is "; cat $f; done
/sys/block/sda/queue/rotational is 1
/sys/block/sdb/queue/rotational is 1
/sys/block/sdc/queue/rotational is 0 <=== Only this is SSD!
上記のすべてはDebianのリファレンスから直接引用されています。Debianのリファレンスには、初めてのSSDユーザーにとって興味深い他の多くの要素が含まれています。