web-dev-qa-db-ja.com

mtrr_gran_size / mtrr_chunk_sizeを指定する方法と理由は何ですか?

今日、 /var/log/dmesg にはgran_sizeおよび*BAD*gran_sizeと呼ばれるものに関する情報を含む数十行が含まれており、その後に私にとっての指示のように見えるものがあることに気付きました。

[    0.000000] mtrr_cleanup: can not find optimal value
[    0.000000] please specify mtrr_gran_size/mtrr_chunk_size

それが言うことをする必要がありますか?どうすればいい?

8
ændrük

MTRRは、システムのメモリリソースを分割および管理する新しい方法であるメモリタイプ範囲レジスタの略です。この機能は、メモリサイズがますます大きくなるため、プロセッサに配置されていました。メモリをアドレス指定して割り当て、より効果的に使用する方法が必要でした。

MTRRの主な機能は、システム内のPCIまたはAGPコンポーネントの場所をマップし、ソフトウェア、ドライバーがそれらに迅速かつ効率的にアクセスできるようにすることです。

(from Gentoo Wiki

Linux MTRRの問題の解決 を読んだ後、mtrr sanitizerがいくつかのオプションから選択できない場合に表示されるエラーが報告されているようですメモリレイアウトの。エラーメッセージの横に可能なオプションのリストを印刷する必要があります。メッセージが消えるようにするには、次のように指定する必要があります

enable_mtrr_cleanup mtrr_spare_reg_nr=1 mtrr_gran_size=32M mtrr_chunk_size=128M

カーネルブートパラメーター(実際の値は、サニタイザーによって提案されたオプションの1つから取得されます)。

記事の著者は、

24MiBのramはなくなりましたが、基本的にwebglコンテンツとgoogle earth内の隠されたフライトシミュレーターである私の3Dワークロードは、両方ともかなり良いフレームレートで実行されます。

とても興味があります...すべてのマシンでdmesgをチェックする必要があります。

5
Sergey

2017年1月に更新されたRHEL6の[Redhat's Knowledgebase] [1]によれば、 "mtrr_gran_size/mtrr_chunk_sizeを指定してください"は以下を意味します。

  • これらのメッセージは問題ではなく、単なる警告です。それらは無視できます。
  • Disable_mtrr_cleanup disable_mtrr_trimを/boot/grub/grub.confのカーネルパラメーターに追加すると、これらのエラーを開始するコードパスが無効になり、システムにエラーが表示されなくなります。

もちろん、RedhatはUbuntuではないことは承知していますが、概してRedhatは同じカーネルを実行しているため、Ubuntuでも同じでない場合は非常に驚かされます。この答えは「セカンドオピニオン」として提供されます。

[1]: https://access.redhat.com/solutions/2852191 -(サブスクリプションが必要です)

0
RCD