如何在 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 速度,以证明它没有以最大速度运行。

该接口应位于:

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

答案3

升级到 kernel4.9 ,获取 L4T 并阅读下文...

nVidia 文档:

在内核 4.9 及后续版本中,支持通用时钟框架 (CCF)。因此:

  • 所有设备驱动程序都使用公共 CCF API include/linux/clk.h 和 include/linux/clk-provider.h,包括 clk_get、clk_enable、devm_clk_get、clk_prepare_enable、clk_prepare_disable、clk_disable 等函数,而不是 platform-特定的 API。
  • 所有时钟驱动程序(包括 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

请告诉我们您发现了什么!

相关内容