了解 /proc/cpuinfo 的输出

6 linux cpu arm

我有一块LeMaker HiKey开发板。我购买它是为了在 ARM64 cpu 架构上测试几个库。该板提供两个Cortex-A53处理器,提供八个内核,使用Linaro Linux:

$ uname -a
Linux hikey 3.18.0-linaro-hikey #1 SMP PREEMPT Mon Nov 30 00:11:03 UTC 2015
aarch64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

我观察到自检的运行速度比预期的要慢一些,所以我正在对其进行温和的调查。我还注意到 a catof/proc/cpuinfo正在返回看起来不太正确的东西,但我不确定它是否值得关注。它对我来说看起来不太正确,因为我曾经看到每个核心的 cpu 信息(类似于/proc/cpuinfo 中的处理器数量)。

的输出是否/proc/cpuinfo表明电路板或其配置有问题?还是某些开发板需要此输出?


ARM Cortex A53(八核)

$ cat /proc/cpuinfo 
Processor   : AArch64 Processor rev 3 (aarch64)
processor   : 0
processor   : 1
processor   : 2
processor   : 3
processor   : 4
processor   : 5
processor   : 6
processor   : 7
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32 
CPU implementer : 0x41
CPU architecture: AArch64
CPU variant : 0x0
CPU part    : 0xd03
CPU revision    : 3

Hardware    : HiKey Development Board
Run Code Online (Sandbox Code Playgroud)

小智 6

这是基于 Arm 的处理器的预期输出。所有序列化内核都显示在列表中,带有换行符而不是单独的处理器。功能由cpuinfo代码评估,并且仅在所有内核都支持它们时才显示

         /*
          * Mismatched CPU features are a recipe for disaster. Don't even
          * pretend to support them.
          */
         WARN_TAINT_ONCE(diff, TAINT_CPU_OUT_OF_SPEC,
                         "Unsupported CPU feature variation.");
Run Code Online (Sandbox Code Playgroud)

其他变量是:

  • CPU implementer: 你的代码是指 ARM;
  • CPU architecture: AArch64 表示 64 位 ARM 板:
  • CPU variant :表示处理器的变体编号,或“主要修订版”。你的为零。
  • CPU part:零件号。0xd03表示 Cortex-A53 处理器。
  • CPU revision:表示补丁发布或“次要修订版”。3、你的情况
  • Hardware : HiKey Development Board 不言自明

如果要检查处理器最大时钟,只需键入cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq. 检查当前时钟dmidecode | grep "Current Speed"应该可以解决问题。

可能影响处理器性能的另一件事是您使用的CPU 调控器。也许设置性能可能更适合您的需求:

cpupower frequency-set -g performance
Run Code Online (Sandbox Code Playgroud)

文档: