web-dev-qa-db-ja.com

UbuntuでARMプロセッサの現在のCPU周波数を取得するにはどうすればよいですか?

ARMプロセッサ)の現在のCPU周波数を取得するにはどうすればよいですか?/proc/cpuinfo/sys/devices/system/cpu/cpu*/cpufreqも役に立ちません。

実際、Ubuntuシステムには/sys/devices/system/cpu/cpu*/cpufreqディレクトリがありません。また、/proc/cpuinfoにもCPU MHz情報はありません。

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

ARMプロセッサの現在のCPU周波数を取得するためのヒントを誰かが教えてもらえますか?

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

part output of <code>cat /proc/cpuinfo</code>

10
sunshilong369

カーネルのドキュメント によると:

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.

私はこれを Raspberry Pi V4 でテストし、cpuinfo_cur_freqが存在することを確認しました。私にはcpuinfo_max_freqと同じ速度がリストされていますが、それが正しいかどうかを知ることはできません。

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

インターフェイスは次の場所にあります。

/sys/devices/system/cpu/cpu0/cpufreq/
1
Philip Couling

kernel4.9にアップグレードし、L4Tを入手して以下をお読みください...

から nVidia Documentation:

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

  • すべてのデバイスドライバーは、プラットフォームCの代わりに、パブリックCCF API include/linux/clk.hおよびinclude/linux/clk-provider.hを使用します。特定のAPI。
  • Jetsonカスタムclkドライバーを含むすべてのクロックドライバーは、clk_opsを実装します。
  • デバイスに必要なクロックソースとクロックは、デバイスツリーで定義されます。
  • クロックは、Boot and Power Management Processorと呼ばれるR5によって制御されます。これは、RTOS bpmp.binのソフトウェアです。CCPLEXで実行されているLinuxカーネルは、このソフトウェアにクロックプログラミングを要求します。NVIDIA®Jetson™Linux Driver Package(L4T)クロックドライバーラッパーは、nvidiaで入手できます。/drivers/clk/tegra /ディレクトリ。

時計の状態を確認するには

適用対象:Jetson AGX XavierシリーズおよびJetson TX2シリーズ

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

Sudo -s

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


elinux wikiの別の良い記事 もあります

ユーティリティcpufreq-infoが役立つはずです。

  1. インストールする

    Sudo apt install cpufrequtils
    
  2. それを実行します

    $ cpufreq-info
    analyzing CPU 126:
      driver: cppc_cpufreq
      CPUs which run at the same hardware frequency: 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
      CPUs which need to have their frequency coordinated by software: 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
      maximum transition latency: 4294.55 ms.
      hardware limits: 200 MHz - 2.60 GHz
      available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
      current policy: frequency should be within 400 MHz and 2.60 GHz.
                      The governor "ondemand" may decide which speed to use
                      within this range.
      current CPU frequency is 400 MHz.
    
0
kucer