UbuntuでARMプロセッサの現在のCPU周波数を取得するには?

UbuntuでARMプロセッサの現在のCPU周波数を取得するには?

UbuntuでARMプロセッサの現在のCPU周波数を取得するには?役に立ちません/proc/cpuinfoし、/sys/devices/system/cpu/cpu*/cpufreq助けにもなりません。

/sys/devices/system/cpu/cpu*/cpufreq実際、私のUbuntuシステムにはディレクトリがありません。そしてどちらもCPU MHz情報を持っていません/proc/cpuinfo

プラットフォーム仕様はNVIDIA® Jetson™ TX2、ubuntu16.04、linux 4.9.18です。

ARMプロセッサの現在のCPU周波数を取得する方法に関するヒントを提供できる人はいますか?

現在のCPU周波数の取得に影響を与える可能性のあるカーネル構成はありますか?

<code>cat /proc/cpuinfo</code>の部分出力

答え1

答え2

~によるとカーネル文書:

3. How to change the CPU cpufreq policy and/or speed
====================================================

3.1 Preferred Interface: sysfs
------------------------------

The preferred interface is located in the sysfs filesystem. If you
mounted it at /sys, the cpufreq interface is located in a subdirectory
"cpufreq" within the cpu-device directory (e.g.
/sys/devices/system/cpu/cpu0/cpufreq/ for the first CPU).

<...snip>

cpuinfo_cur_freq :        Current frequency of the CPU as obtained from
              the hardware, in KHz. This is the frequency
              the CPU actually runs at.

私はこれをテストしました。ラズベリーパイV4そしてそのcpuinfo_cur_freq存在を確認します。私には同じ速度が表示されていますが、cpuinfo_max_freqそれが正しいかどうかはわかりません。

このインターフェイスを読み、CPU が最高速度で実行されていないことを証明するために、意図的に CPU 速度を遅くすることもできます。

このインターフェイスは次の場所になければなりません。

/sys/devices/system/cpu/cpu0/cpufreq/

答え3

kernel4.9にアップグレードしてL4Tを購入したら、以下を読んでください...

~からnVidiaドキュメント:

カーネル4.9以降では、CCF(Common Clock Framework)がサポートされています。したがって:

  • すべてのデバイスドライバは、プラットフォーム固有のAPIではなく、clk_get、clk_enable、devm_clk_get、clk_prepare_enable、clk_prepare_disable、clk_disableなどの機能を含むパブリックCCF API include/linux/clk.hおよびinclude/linux/cdアフィス。
  • すべてのクロックドライバ(Jetsonカスタムclkドライバを含む)はclk_opsを実装します。
  • デバイスに必要なクロックソースとクロックはデバイスツリーで定義されています。
  • クロックは、ブートおよび電源管理プロセッサと呼ばれるR5によって制御されます。 bpmp.binでRTOSソフトウェアを実行します。 CCPLEXで実行されているLinuxカーネルは、クロックプログラミングのためにこのソフトウェアを要求します。 NVIDIA® Jetson™ Linuxドライバパッケージ(L4T)クロックドライバラッパーは、nvidia/drivers/clk/tegra/ディレクトリにあります。

時計の状態を確認

適用対象:Jetson AGX XavierシリーズおよびジェイソンTX2シリーズ

  • デバイスで次のコマンドを入力してdebugfsを起動し、時計を確認します。

sudo -s

cat /sys/kernel/debug/bpmp/debug/clk/clk_tree


しかもelinux wikiのもう一つの良い記事

答え4

誰もが与えられた情報に基づいてxコマンドを試すのと似たようなものを提案できますか?

これを念頭に置いて、次のことを試すことができます。 (lscpuたとえあなたが見つけることができるのと同じ情報を取り戻したいのですが、試してみる/proc/cpuinfo価値があります。)

より良い回答を得るには、コミュニティにシステムカーネルバージョンなどの追加情報が必要な場合があります。 Ubuntuのバージョンもあるかもしれません。

次のようにカーネルのバージョンを見つけることができます。uname -r

以下では、オペレーティングシステムのバージョンを見つけることができます。lsb_release -a

何が見つかったのか教えてください!

関連情報