第11章 レイテンシーの影響を受けるワークロードのグラフィックコンソール出力の無効化

カーネルは、起動直後に printk() にメッセージを渡し始めます。カーネルはログファイルにメッセージを送信して、ヘッドレスサーバーに接続されているモニターがない場合でも、グラフィックコンソールにも表示します。

一部のシステムでは、グラフィックコンソールに送信された出力が原因でパイプラインが停滞する可能性があります。これにより、データ転送の待機中にタスクの実行が遅延する可能性があります。たとえば、teletype0 (/dev/tty0) に送信された出力が原因で、システムの停滞が発生する可能性があります。

予期しない停滞を防ぐため、グラフィックコンソールに送信される情報を以下で制限または無効にできます。

  • tty0 定義を削除する。
  • コンソール定義の順序を変更する。
  • ほとんどの printk() 関数をオフにし、必ず ignore_loglevel カーネルパラメーターを not configured に設定する。

グラフィックコンソール出力のログオンを無効にし、グラフィックコンソールに出力されるメッセージを制御することにより、レイテンシーの影響を受けやすいワークロードでレイテンシーを改善できます。

11.1. グラフィックコンソールのグラフィックアダプターへのロギングの無効化

デフォルトのカーネルコンソールである teletype (tty) は、入力データをシステムに渡してグラフィックコンソールに出力情報を表示することで、システムとの対話を可能にします。

グラフィックコンソールを設定しないと、グラフィックアダプターにログの記録ができなくなります。これにより、tty0 はシステムで利用できず、グラフィックコンソールでのメッセージの出力を無効にするのに役立ちます。

注記

グラフィックコンソールの出力を無効にしても、情報は削除されません。この情報はシステムログに出力され、journalctl ユーティリティーまたは dmesg ユーティリティーを使用して情報にアクセスできます。

手順

  • カーネル設定から console=tty0 オプションを削除します。

    # grubby --update-kernel=ALL --remove-args="console=tty0"