当前位置: 首页 > news >正文

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 性能和特性。

相关文章:

cpuinfo实践记录

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

【Java】ArrayList相关操作及其案例

ArrayList相当于集合&#xff0c;作为一种容器存储数据&#xff0c;与数组类似。不同的是&#xff0c;ArrayList中长度可变&#xff0c;而数组长度不可变。 ArrayList相关API 构造器 public ArrayList() 创建一个空的集合对象 ArrayList<String>arrnew ArrayList<>…...

手机pdf阅读器,用手机也能够阅读、编辑pdf文件

在日常的学习或办公过程中&#xff0c;PDF格式的文件是我们最常遇见的文件格式之一&#xff0c;那么为了更高效、便捷地处理这些文件&#xff0c;选择一款合适的PDF阅读器至关重要&#xff0c;可以帮助我们在阅读文件的同时还可以对文件进行适当编辑处理。今天小编给大家带来几…...

通过 Twitter Token 实现授权与操作

通过 Twitter Token 实现授权与操作 一、Twitter API 概览 1.1 Twitter API 简介 Twitter API 是 Twitter 公司提供的一种编程接口,它允许开发者访问 Twitter 的海量数据,包括用户信息、推文内容、关系网络等。通过这些接口,开发者可以创建应用程序,实现自动化的社交媒体…...

100个SSM框架(Spring + Spring MVC + MyBatis)毕业设计选题

100个SSM框架(Spring Spring MVC MyBatis)毕业设计选题 电子商务 综合性电子商务平台跨境电商管理系统社区团购平台二手商品交易网站农产品直销平台奢侈品鉴定与交易系统电子优惠券管理平台闪购秒杀系统个性化商品推荐系统多商户店铺管理平台 教育培训 在线教育课程平台智…...

STM32F1+HAL库+FreeTOTS学习17——事件标志组

STM32F1HAL库FreeTOTS学习17——事件标志组 1. 事件标志组1.1 事件标志组的的引入1.2 事件标志组简介1.3 事件标志组与队列、信号量的区别 2. 事件标志组下相关API函数2. 1 xEventGroupCreate()2. 2 xEventGroupCreateStatic()2. 3 vEventGroupDelete()2. 4 xEventGroupWaitBit…...

ElasticSearch基本概念

本文内容参考了田雪松老师编著的《Elastic Stack应用宝典》 对比关系型数据库 索引&#xff08;Index&#xff09;相当于库映射类型&#xff08;Mapping Type&#xff09;相当于表文档&#xff08;Document&#xff09;相当于行文档字段&#xff08;Field&#xff09;相当于列…...

fluent-ffmpeg操作MP3文件深入解析

软考鸭微信小程序 学软考,来软考鸭! 提供软考免费软考讲解视频、题库、软考试题、软考模考、软考查分、软考咨询等服务 引言 fluent-ffmpeg是一个功能强大的Node.js库&#xff0c;它为FFmpeg提供了一个流畅的接口。FFmpeg是一个著名的多媒体框架&#xff0c;以处理音频、视频和…...

做信创项目需要什么资质、信创产品认证标准?

信创项目需要企业具备一些特定的资质和认证&#xff0c;以证明其合规性和专业性。以下是做信创项目可能用到的一些资质&#xff1a; 1. 信息安全管理体系认证&#xff08;ISO27001&#xff09;&#xff1a;该认证可以证明企业已经建立了完善的信息安全管理体系&#xff0c;能够…...

Spring i18n国际化

从源码MessageSource的三个实现出发实战springi18n国际化 - 简熵 - 博客园 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.MessageSource; import org.spri…...

基于stm32的楼宇照明控制系统设计

基于stm32的楼宇照明控制系统设计 项目说明一、绪论1.1 研究背景1.2 研究意义1.4 研究内容 二、系统方案设计2.1 微控制器方案选择2.2 信息检测模块方案选择2.3 WiFi模块选择2.4 终端显示2.5 WiFi无线通信实现方法 三、系统硬件电路图设计3.1 整体电路图设计3.2 主控制器设计3.…...

ESP32移植Openharmony外设篇(3)OLED屏

模块简介 产品介绍 OLED (Organic Light-Emitting Diode)&#xff1a;有机发光二极管又称为有机电激光显示&#xff0c;OLED显示技术具有自发光的特性&#xff0c;采用薄的有机材料涂层和玻璃基板&#xff0c;当有电流通过时&#xff0c;这些有机材料就会发光&#xff0c;而且…...

人工智能:未来生活与工作的变革力量

人工智能&#xff08;AI&#xff09;作为21世纪最具变革性的技术之一&#xff0c;正以前所未有的速度改变着我们的生活和工作方式。从医疗行业的突破性进展到企业运营的智能化&#xff0c;以及日常生活中各种智能产品的普及&#xff0c;人工智能正在成为现代社会不可或缺的一部…...

AI自动生成PPT哪个软件好?智能生成PPT不再熬夜做课件

大概这世上&#xff0c;都是职场牛马对“PPT”这三个字母的头痛反应最大吧&#xff01; 是的&#xff0c;就连各个年级段的老师也是很头痛——愁着怎样能在排版整齐的情况下&#xff0c;将必考知识点都呈现在PPT每一张幻灯片页面里...... 近期打听到用人工智能生成ppt课件&am…...

C# OOP面试题精选 面向新手/SOLID原则/设计模式++ 长期更新

1.整理目的 相当于0.1版本&#xff0c;旨在学习/提升/复习 关于面向对象模块的知识 目前&#xff0c;记录了一些比较容易混淆或者突然想不起的冷门内容 还有一些个人经过实战后总结的内容&#xff0c;其中还指明了很多实例和分析链接以更加方便地复习 【金山文档 | WPS云文…...

安全见闻(2)——开阔眼界,不做井底之蛙

内容预览 ≧∀≦ゞ 安全见闻二&#xff1a;Web程序构成与潜在漏洞声明导语前端语言及潜在漏洞前端语言前端框架与代码库代码库的概念和用途流行的JavaScript框架常见的代码库 前端潜在漏洞 后端语言及潜在漏洞常见后端语言协议问题后端潜在漏洞 数据库及潜在漏洞数据库分类数据…...

ProtoBuf 的含义和安装

ProtoBuf 是什么 Protocol Buffers 是 Google 的⼀种语⾔⽆关、平台⽆关、可扩展的序列化结构数据的⽅法&#xff0c;它可⽤ 于&#xff08;数据&#xff09;通信协议、数据存储等。 Protocol Buffers 类⽐于、 XML&#xff0c;是⼀种灵活&#xff0c;⾼效&#xff0c;⾃动化机…...

C++位操作实战:掩码、提取与组装

在C编程中&#xff0c;位操作是一项基础且强大的技术&#xff0c;它允许程序员在二进制级别上直接操作数据。这种能力对于性能优化、内存节省以及底层硬件控制至关重要。本文将深入探讨C中的掩码操作、字节提取与组装&#xff0c;并通过实例展示这些技术的实际应用。 一、位运算…...

PVE虚拟机强制重启

在Proxmox VE (PVE) 中&#xff0c;强制重启虚拟机的方法有几种&#xff0c;取决于具体场景和虚拟机的状态。以下是常用的两种方法&#xff1a; 1. 使用PVE Web UI强制重启虚拟机 如果虚拟机无法正常关闭或重启&#xff0c;可以使用PVE Web界面中的强制关机/重启选项&#xf…...

Adobe Acrobat DC 打印PDF文件,没有打印出注释的解决方法

adobe acrobat在打印的时候&#xff0c;打印不出来注释内容&#xff08;之前一直可以&#xff0c;突然就不行&#xff09;&#xff0c;升级版本、嵌入字体等等都试过&#xff0c;也在Google找了半天和问了GPT也么找着办法。 无奈之下&#xff0c;自己通过印前检查&#xff0c;…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...