SATA コントローラはカーネルのコンパイルを遅くするようです (SATA HD が切断されている場合は 1.30 分に対して 8.48 分)

SATA コントローラはカーネルのコンパイルを遅くするようです (SATA HD が切断されている場合は 1.30 分に対して 8.48 分)

これは変だ

ハードディスクや DVD-RW などの SATA デバイスをボックスに接続すると、AsRock b550 Taichi マザーボードにインストールされた Samsung NVME 970 Evo と 16GB RAM @ 3200 を搭載した Ryzen 5950x で Linux カーネルのコンパイル (5.12.4) に約 8 ~ 9 分かかります。回転可能なハードディスクは、マザーボードの SATA ポートに接続されているだけで、パーティションはマウントされていません。

マザーボードの SATA ポートから HD を物理的に切断/取り外すと、まったく同じプロセス (クリーンなコンパイル、新しいアーカイブからの開始) に約 1.30 分かかります。

DVD-RW を接続した場合も同様に速度低下が発生しますが、SATA ポートに SSD を接続した場合は速度低下は発生しません。

私は完全に困惑しています。どうやら、古い技術のデバイスが接続されると、チップセット上の SATA コントローラーがプロセッサの速度に干渉するようです。

カーネルをコンパイルするために実行しているコマンドは次のとおりです。

tar xf linux-5.8.10.tar.gz
cd linux-5.8.10
cp /boot/config-`uname -r` .config
yes '' | make oldconfig
make clean
time make -j32 LOCALVERSION=-custom

私は Ubuntu 20.04 を実行しています。この速度低下を回避するために、HDD を取り外して USB 経由で使用しています。

答え1

SATA ケーブルに不具合があり、シャーシ内の他のコンポーネントからの無線周波数干渉を拾ったり、SATA 接続で誤った信号を発生させたりする可能性があります。これにより、SATA コントローラーや OS がデバイスの状態をチェックするようになり、マザーボードのデータ バスのトラフィックが妨害されたり、CPU 時間が浪費されたりします。

このような場合、カーネルはカーネル メッセージ バッファやシステム ログに大量のエラー メッセージを出力することが予想されます。dmesgコマンドを使用してカーネル メッセージを確認し、SATA 関連のエラー メッセージがあるかどうかを確認します。

答え2

私は、BIOS/EFI を 1.80 から 1.90 (執筆時点での最新) にアップデートすることでこの問題を解決しました。これは asrock.com/MB/AMD/B550%20Taichi/index.asp#BIOS から入手できます。

関連情報