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周波数の取得に影響を与える可能性のあるカーネル構成はありますか?
答え1
- 最新のカーネルとそのサブキーを持つpi 4に
/sys/devices/system/cpu/cpufreq/
存在します。 - 運が良ければ、プラットフォームは次の機能を提供します。
/sys/devices/platform/soc/soc:firmware/raspberrypi-clk/raspberrypi-cpufreq
- あなたは試すことができますパフォーマンス統計含める:
perf stat sleep 1
コメントで述べたように:https://stackoverflow.com/q/32474101/11993317 - SoCには次のインターフェースがあります。https://superuser.com/questions/406141/how-to-get-an-arm-cpu-clock-speed-in-linux
答え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
答え4
誰もが与えられた情報に基づいてxコマンドを試すのと似たようなものを提案できますか?
これを念頭に置いて、次のことを試すことができます。 (lscpu
たとえあなたが見つけることができるのと同じ情報を取り戻したいのですが、試してみる/proc/cpuinfo
価値があります。)
より良い回答を得るには、コミュニティにシステムカーネルバージョンなどの追加情報が必要な場合があります。 Ubuntuのバージョンもあるかもしれません。
次のようにカーネルのバージョンを見つけることができます。uname -r
以下では、オペレーティングシステムのバージョンを見つけることができます。lsb_release -a
何が見つかったのか教えてください!