安卓cpu知识

背景

目前的cpu都是多核的,为了有更好的能效,每个核的频率从低往高不等。市面上,大家根据频率不同,都叫大小核。既然分了大小核,那么多核心,就要有不同的cpu调度策略。所以cpu上的所有核,又会根据自身的频率不同,几个核心为一组,分到一个簇里(cluster)。同一个簇里的核,使用相同的调度策略(policy)。

cpu基本知识

  1. cpu整体信息文件夹节点
    /sys/devices/system/cpu/
    通过ls -al。可以查看到cpu有多少个核心,比如8核,会有cpu0~cpu7
  2. cpu每个核文件夹节点
    /sys/devices/system/cpu/cpu0
    通过ls -al。可以查看核属于哪个cluster。比如0号cpu查到,cpufreq -> .../cpufreq/policy0。说明0号cpu属于cluster0,和簇里其他核一起使用policy0里的频率策略。
  3. cpu频率相关的文件夹节点
    /sys/devices/system/cpu/cpu0/cpufreq/
    通过ls -al。可以发现下列文件节点:
    cpuinfo_cur_freq-----------------------> cpu硬件当前的频率(khz)
    cpuinfo_max_freq----------------------> cpu最大频率(khz)
    cpuinfo_min_freq----------------------> cpu最小频率(khz)
    scaling_available_frequencies------->cpu支持的频率范围(khz)
    scaling_available_governors--------> cpu支持的策略列表
    scaling_governor-----------------------> cpu当前的运行策略
    scaling_cur_freqr-----------------------> cpu期望运行的频率
    以上这些文件节点,实际上都是policy0这个簇里的策略,通过软链接的方式,链接到cpu0这里。所以如果要修改cpu策略,直接到簇里修改,几个核心同时生效。如果想要限定cpu的频率,可以设置cpuinfo_max_freq和cpuinfo_min_freq
  4. cpu的cluster查看
    /sys/devices/system/cpu/cpufreq
    通过ls -al。查看有多少个目录名字包含policy的。比如policy0或者policy7。有多少个目录就有多少个簇。
  5. 尽情期待
相关推荐
JustHappy2 分钟前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌3 分钟前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构
石像鬼₧魂石4 分钟前
Kali Linux 网络端口深度扫描
linux·运维·网络
sg_knight6 分钟前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm
LYFlied7 分钟前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
开发者小天7 分钟前
react中useEffect的用法,以及订阅模式的原理
前端·react.js·前端框架
爱笑的眼睛117 分钟前
超越MSE与交叉熵:深度解析损失函数的动态本质与高阶设计
java·人工智能·python·ai
alengan7 分钟前
linux上面写python3日志服务器
linux·运维·服务器
前端白袍27 分钟前
Vue:如何实现一个具有复制功能的文字按钮?
前端·javascript·vue.js
全靠bug跑31 分钟前
Spring Cloud OpenFeign 实战三部曲:快速集成 · 连接池优化 · 客户端抽取
java·spring boot·openfeign