LMDE 6 で Linux Kernel 6.10 という環境です。カーネルのビルドオプションで CONFIG_PREEMPT=y Preemptible Kernel (Low-Latency Desktop) を指定しています。
$ sudo cat /sys/kernel/debug/sched/preempt none voluntary (full)
Firefox というか「艦これ」の反応速度改善と省電力を目指しているのですが、この状態でカーネル起動オプションの nohz_full を試してみました。
まずは nohz_full=2-11 という指定です。6 コア 12 スレッドな CPU なのですが、先頭の 2 つはいじらずに 3 番目から 12 番目の CPU を adaptive-tick CPU に指定する、というものです。
cpu MHz : 3101.817 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000
/proc/cpuinfo を抜き取った結果です。ちょっとタイミングが悪かったのですが、1 番目と 2 番目の CPU だけ常に動いているように見えます。
しかし、Firefox の反応速度は好感触です。キビキビしています。
続いて、nohz_full=6-11 という指定です。
cpu MHz : 3183.382 cpu MHz : 3467.285 cpu MHz : 3026.825 cpu MHz : 3467.767 cpu MHz : 2793.213 cpu MHz : 3308.353 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000 cpu MHz : 400.000
期待通りの結果ですが、Firefox の反応速度はさっきよりも落ちた感じがします。
そして、nohz_full を指定しないパターンです。
cpu MHz : 2792.442 cpu MHz : 3325.727 cpu MHz : 2774.769 cpu MHz : 3031.399 cpu MHz : 400.000 cpu MHz : 3008.046 cpu MHz : 3009.508 cpu MHz : 400.000 cpu MHz : 3468.280 cpu MHz : 3469.008 cpu MHz : 2791.487 cpu MHz : 3012.952
まあ、こうなりますよね、という見え方です。Firefox の反応速度はやはり落ちている感じがします。
最初のパターンが一番に反応速度が良かったのですが、1 番目と 2 番目の CPU しか使わないという偏りが気になりました。
「ん〜、コア数が少ない方が応答が良くなるのか。そうすると、SMT を off にすると良いのかな?」
ということで試してみました。
cpu MHz : 3166.561 cpu MHz : 3310.264 cpu MHz : 3468.233 cpu MHz : 3237.602 cpu MHz : 3467.564 cpu MHz : 2857.758
確かにちょっと反応速度が良くなった気がしますが、最初のパターンには及ばない感じです。
「最初のパターンは本当に 1 番目と 2 番目の CPU しか使われていないのだろうか?」
ということで、/proc/cpuinfo のスナップショットではなく、CPU 使用率のグラフで時系列に確認してみることにしました。
![]() |
負荷が高い時はすべての CPU が使われている |
「システムモニター」で確認してみると一目瞭然でした。負荷がかかると 1 番目と 2 番目だけではなく他の CPU もちゃんと使われているようです。
これなら最初のパターンが一番いいですね、ということで GRUB のオプションに静的に定義することにしました。
/etc/default/grub.d/50_lmde.cfg GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nohz_full=2-11" GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true
編集が終わったら、忘れずに反映させておきます。
$ sudo update-grub
これで次の PC 再起動時に取り込まれるようになります。
今日はいい仕事をしました。