web-dev-qa-db-ja.com

Ubuntu 16.04のPowertopで「unknown op」エラーを解決する方法は?

入力するとき:

Sudo powertop

次のエラーが表示されました。

unknown op '{'
            Model-specific registers (MSR)           not found (try enabling CONFIG_X86_MSR).
                     read_msr cpu2 0x60d : No such file or directory

誰でも助けてもらえますか?

2
Amir Soleymani

これは既知のバグであり、プログラムには影響しません。

PowerTop 2.7の詳細

既知のバグ(今後のリリースでこれらのバグを修正する予定です):

  • Traceevent libに問題があり、文字列が出力されます:不明なop '{'。このバグは、PowerTOPの正しい機能には影響しません。

  • PowerTOPは、すべてのCPUが99%アイドルであり、ワークロードを実行しているときでも600 MHzが常に約1%であることを示します。これは、周波数統計を省電力ガバナーに設定するときに発生します。

  • PowerTOPの要約CPU使用率が100%を超える

3
Wiffzack

powertopコマンドには、msrカーネルモジュールが必要です。エラーメッセージ内のCONFIG_X86_MSRの言及は、カーネル構成オプションへの参照です。私のUbuntuシステムでは、次のように定義されています。

CONFIG_X86_MSR=m

つまり、カーネルモジュールとして構成されています。 powertopを実行すると、msrカーネルモジュールが自動的にロードされます。 yではなくmの値はmsrをカーネルに直接コンパイルし、nの値はそれを完全に無効にします。

UbuntuシステムでCONFIG_X86_MSRの値を確認するには、正しい/boot/config-*ファイルを確認する必要があります。たとえば、私のUbuntuシステムでは、関連ファイルは/boot/config-4.4.0-31-genericです。そのようなファイルが複数ある場合、uname -rの出力から、実行中のカーネルに対応するファイルがわかります。

開始する1つの場所は、CONFIG_X86_MSRの値を決定することです。カスタムカーネルを構築しなかった場合、mがその可能性が高い値です。値がnの場合、おそらく異なる構成の新しいカーネルをビルドするか、CONFIG_X86_MSRを有効にして(yまたはmで)ストックカーネルを起動する必要があります。値がmの場合、msrがロードされているかどうかを確認する必要があります。ロードされていない場合、modprobe msrは、適切にインストールされていればロードする必要があります。

確認する価値があるもう1つのことは、実行中のカーネルが最新のインストール済みカーネルに対応しているかどうかです。カーネルを再起動せずにアップグレードした場合、msrモジュールが正しくロードされなくなる可能性があります。

2
Eirik Fuller