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_version:py-cpuinfo库的版本信息。 -
cpuinfo_version_string:py-cpuinfo库的版本字符串。 -
arch: CPU 架构(如X86_64、ARM_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相当于集合,作为一种容器存储数据,与数组类似。不同的是,ArrayList中长度可变,而数组长度不可变。 ArrayList相关API 构造器 public ArrayList() 创建一个空的集合对象 ArrayList<String>arrnew ArrayList<>…...
手机pdf阅读器,用手机也能够阅读、编辑pdf文件
在日常的学习或办公过程中,PDF格式的文件是我们最常遇见的文件格式之一,那么为了更高效、便捷地处理这些文件,选择一款合适的PDF阅读器至关重要,可以帮助我们在阅读文件的同时还可以对文件进行适当编辑处理。今天小编给大家带来几…...
通过 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应用宝典》 对比关系型数据库 索引(Index)相当于库映射类型(Mapping Type)相当于表文档(Document)相当于行文档字段(Field)相当于列…...
fluent-ffmpeg操作MP3文件深入解析
软考鸭微信小程序 学软考,来软考鸭! 提供软考免费软考讲解视频、题库、软考试题、软考模考、软考查分、软考咨询等服务 引言 fluent-ffmpeg是一个功能强大的Node.js库,它为FFmpeg提供了一个流畅的接口。FFmpeg是一个著名的多媒体框架,以处理音频、视频和…...
做信创项目需要什么资质、信创产品认证标准?
信创项目需要企业具备一些特定的资质和认证,以证明其合规性和专业性。以下是做信创项目可能用到的一些资质: 1. 信息安全管理体系认证(ISO27001):该认证可以证明企业已经建立了完善的信息安全管理体系,能够…...
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):有机发光二极管又称为有机电激光显示,OLED显示技术具有自发光的特性,采用薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,而且…...
人工智能:未来生活与工作的变革力量
人工智能(AI)作为21世纪最具变革性的技术之一,正以前所未有的速度改变着我们的生活和工作方式。从医疗行业的突破性进展到企业运营的智能化,以及日常生活中各种智能产品的普及,人工智能正在成为现代社会不可或缺的一部…...
AI自动生成PPT哪个软件好?智能生成PPT不再熬夜做课件
大概这世上,都是职场牛马对“PPT”这三个字母的头痛反应最大吧! 是的,就连各个年级段的老师也是很头痛——愁着怎样能在排版整齐的情况下,将必考知识点都呈现在PPT每一张幻灯片页面里...... 近期打听到用人工智能生成ppt课件&am…...
C# OOP面试题精选 面向新手/SOLID原则/设计模式++ 长期更新
1.整理目的 相当于0.1版本,旨在学习/提升/复习 关于面向对象模块的知识 目前,记录了一些比较容易混淆或者突然想不起的冷门内容 还有一些个人经过实战后总结的内容,其中还指明了很多实例和分析链接以更加方便地复习 【金山文档 | WPS云文…...
安全见闻(2)——开阔眼界,不做井底之蛙
内容预览 ≧∀≦ゞ 安全见闻二:Web程序构成与潜在漏洞声明导语前端语言及潜在漏洞前端语言前端框架与代码库代码库的概念和用途流行的JavaScript框架常见的代码库 前端潜在漏洞 后端语言及潜在漏洞常见后端语言协议问题后端潜在漏洞 数据库及潜在漏洞数据库分类数据…...
ProtoBuf 的含义和安装
ProtoBuf 是什么 Protocol Buffers 是 Google 的⼀种语⾔⽆关、平台⽆关、可扩展的序列化结构数据的⽅法,它可⽤ 于(数据)通信协议、数据存储等。 Protocol Buffers 类⽐于、 XML,是⼀种灵活,⾼效,⾃动化机…...
C++位操作实战:掩码、提取与组装
在C编程中,位操作是一项基础且强大的技术,它允许程序员在二进制级别上直接操作数据。这种能力对于性能优化、内存节省以及底层硬件控制至关重要。本文将深入探讨C中的掩码操作、字节提取与组装,并通过实例展示这些技术的实际应用。 一、位运算…...
PVE虚拟机强制重启
在Proxmox VE (PVE) 中,强制重启虚拟机的方法有几种,取决于具体场景和虚拟机的状态。以下是常用的两种方法: 1. 使用PVE Web UI强制重启虚拟机 如果虚拟机无法正常关闭或重启,可以使用PVE Web界面中的强制关机/重启选项…...
Adobe Acrobat DC 打印PDF文件,没有打印出注释的解决方法
adobe acrobat在打印的时候,打印不出来注释内容(之前一直可以,突然就不行),升级版本、嵌入字体等等都试过,也在Google找了半天和问了GPT也么找着办法。 无奈之下,自己通过印前检查,…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案
一、延迟敏感行业面临的DDoS攻击新挑战 2025年,金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征: AI驱动的自适应攻击:攻击流量模拟真实用户行为,差异率低至0.5%,传统规则引…...
webpack面试题
面试题:webpack介绍和简单使用 一、webpack(模块化打包工具)1. webpack是把项目当作一个整体,通过给定的一个主文件,webpack将从这个主文件开始找到你项目当中的所有依赖文件,使用loaders来处理它们&#x…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
归并排序:分治思想的高效排序
目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...
深入理解 React 样式方案
React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...
StarRocks 全面向量化执行引擎深度解析
StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计,相比传统行式处理引擎(如MySQL),性能可提升 5-10倍。以下是分层拆解: 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...
用鸿蒙HarmonyOS5实现国际象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码,使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...
