cpuinfo实践记录

py-cpuinfo 是一个用于获取 CPU 信息的 Python 库。它可以帮助你获取 CPU 的详细信息,如 CPU 型号、核心数、频率、缓存大小等。以下是对 py-cpuinfo 模块的详细介绍:

安装

你可以使用 pip 来安装 py-cpuinfo 库:

pip install py-cpuinfo

基本使用

安装完成后,你可以使用 py-cpuinfo 来获取 CPU 信息。以下是一个简单的示例:

import cpuinfo

# 获取 CPU 信息
info = cpuinfo.get_cpu_info()

# 打印 CPU 信息
for key, value in info.items():
    print(f"{key}: {value}")

返回的字段

cpuinfo.get_cpu_info() 返回一个字典,包含以下常见的键值对:

  • python_version: Python 解释器的版本信息。

  • cpuinfo_versionpy-cpuinfo 库的版本信息。

  • cpuinfo_version_stringpy-cpuinfo 库的版本字符串。

  • arch: CPU 架构(如 X86_64ARM_8)。

  • bits: CPU 位数(如 64)。

  • count: CPU 核心数。

  • arch_string_raw: 原始的 CPU 架构字符串。

  • flags: CPU 支持的指令集标志。

  • vendor_id_raw: 原始的 CPU 供应商 ID。

  • brand_raw: 原始的 CPU 品牌字符串。

  • hz_advertised_friendly: 广告频率(友好的字符串格式)。

  • hz_actual_friendly: 实际频率(友好的字符串格式)。

  • hz_advertised: 广告频率(元组格式)。

  • hz_actual: 实际频率(元组格式)。

  • l2_cache_size: L2 缓存大小。

  • l3_cache_size: L3 缓存大小。

  • l1_data_cache_size: L1 数据缓存大小。

  • l1_instruction_cache_size: L1 指令缓存大小。

示例输出

格式化输出如下所示: 

{
	'python_version': '3.11.7.final.0 (64 bit)',
	'cpuinfo_version': [9, 0, 0],
	'cpuinfo_version_string': '9.0.0',
	'arch': 'ARM_8',
	'bits': 64,
	'count': 8,
	'arch_string_raw': 'aarch64',
	'flags': ['aes', 'asimd', 'asimddp', 'asimdhp', 'asimdrdm', 'atomics', 'cpuid', 'crc32', 'dcpop', 'evtstrm', 'fp', 'fphp', 'lrcpc', 'pmull', 'sha1', 'sha2'],
	'vendor_id_raw': 'ARM',
	'brand_raw': 'Cortex-A55',
	'hz_advertised_friendly': '2.3040 GHz',
	'hz_actual_friendly': '2.3040 GHz',
	'hz_advertised': [2304000000, 0],
	'hz_actual': [2304000000, 0],
	'l2_cache_size': 1048576,
	'l3_cache_size': 3145728,
	'l1_data_cache_size': 262144,
	'l1_instruction_cache_size': 262144
}

cpuinfo.get_cpu_info() 返回的字典包含了详细的 CPU 信息。以下是对每个字段的详细解释:

1. python_version

  • 解释: Python 解释器的版本信息。

  • 示例值'3.11.7.final.0 (64 bit)'

  • 说明: 表示当前使用的 Python 版本是 3.11.7,并且是 64 位版本。

2. cpuinfo_version

  • 解释py-cpuinfo 库的版本信息。

  • 示例值[9, 0, 0]

  • 说明: 表示 py-cpuinfo 库的版本是 9.0.0。

3. cpuinfo_version_string

  • 解释py-cpuinfo 库的版本字符串。

  • 示例值'9.0.0'

  • 说明: 表示 py-cpuinfo 库的版本是 9.0.0。

4. arch

  • 解释: CPU 架构。

  • 示例值'ARM_8'

  • 说明: 表示 CPU 架构是 ARMv8。

5. bits

  • 解释: CPU 的位数。

  • 示例值64

  • 说明: 表示 CPU 是 64 位的。

6. count

  • 解释: CPU 核心数。

  • 示例值8

  • 说明: 表示 CPU 有 8 个核心。

7. arch_string_raw

  • 解释: 原始的 CPU 架构字符串。

  • 示例值'aarch64'

  • 说明: 表示 CPU 架构是 aarch64

8. flags

  • 解释: CPU 支持的指令集标志。

  • 示例值['aes', 'asimd', 'asimddp', 'asimdhp', 'asimdrdm', 'atomics', 'cpuid', 'crc32', 'dcpop', 'evtstrm', 'fp', 'fphp', 'lrcpc', 'pmull', 'sha1', 'sha2']

  • 说明: 表示 CPU 支持的指令集,如 AES、ASIMD、CRC32 等。

9. vendor_id_raw

  • 解释: 原始的 CPU 供应商 ID。

  • 示例值'ARM'

  • 说明: 表示 CPU 供应商是 ARM。

10. brand_raw

  • 解释: 原始的 CPU 品牌字符串。

  • 示例值'Cortex-A55'

  • 说明: 表示 CPU 品牌是 Cortex-A55。

11. hz_advertised_friendly

  • 解释: 广告频率(友好的字符串格式)。

  • 示例值'2.3040 GHz'

  • 说明: 表示 CPU 的广告频率是 2.3040 GHz。

12. hz_actual_friendly

  • 解释: 实际频率(友好的字符串格式)。

  • 示例值'2.3040 GHz'

  • 说明: 表示 CPU 的实际频率是 2.3040 GHz。

13. hz_advertised

  • 解释: 广告频率(元组格式)。

  • 示例值[2304000000, 0]

  • 说明: 表示 CPU 的广告频率是 2304000000 Hz(2.3040 GHz)。

14. hz_actual

  • 解释: 实际频率(元组格式)。

  • 示例值[2304000000, 0]

  • 说明: 表示 CPU 的实际频率是 2304000000 Hz(2.3040 GHz)。

15. l2_cache_size

  • 解释: L2 缓存大小。

  • 示例值1048576

  • 说明: 表示 L2 缓存大小是 1048576 字节(1 MB)。

16. l3_cache_size

  • 解释: L3 缓存大小。

  • 示例值3145728

  • 说明: 表示 L3 缓存大小是 3145728 字节(3 MB)。

17. l1_data_cache_size

  • 解释: L1 数据缓存大小。

  • 示例值262144

  • 说明: 表示 L1 数据缓存大小是 262144 字节(256 KB)。

18. l1_instruction_cache_size

  • 解释: L1 指令缓存大小。

  • 示例值262144

  • 说明: 表示 L1 指令缓存大小是 262144 字节(256 KB)。

通过 cpuinfo.get_cpu_info() 获取的 CPU 信息字典包含了详细的 CPU 信息,如架构、位数、核心数、频率、缓存大小等。这些信息可以帮助你了解当前系统的 CPU 性能和特性。

猜你喜欢

转载自blog.csdn.net/Together_CZ/article/details/143213285