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

cpu管理

1.cpu初始化

linux cpu管理(一) cpu初始化 - 知乎 (zhihu.com)

2.动态调频cpufreq

Linux动态调频cpufreq framework_cpu动态调频-CSDN博客

3.cpu模式

查看当前系统的 cpu 核数

ls -l  /sys/devices/system/cpu

查看 cpu 支持的频率

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

指定频率到 cpu0

echo 1440000  > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

禁用某个指定的内核

echo 0 > /sys/devices/system/cpu/cpu0/online

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

这四个CPU模式分别是以下状态:

1、performance高性能模式:在这个模式系统会按设定最大主频率满负荷运转,主频会一直保持在设定范围内的最大值。它和省电模式相反,始终按设定最高频率运行,此模式亦无任何日常使用价值;

2、hotplug单核模式:在这个模式系统会在检测到CPU低负载关闭一个核心变成单核;

3、powersave省电模式:此模式下系统将保持在设定最小频率低负荷运行。按设定最低频率运行,日常没有使用价值,除非配合setcpu情景模式,关屏睡眠时使用此调节模式;

4、userspace用户隔离模式-:当cpu设置模块处于非工作状态时控制cpu速度的一种方法。严格来说它并不是一个模式,是允许非内核进程控制cpu频率的设置,现在已经不需要它了,setcpu官方的建议是,“不要使用此选项”。

除此之外CPU还有其他以下模式:

1、conservative保守模式:在此模式下系统会回设置较低的频率下降响应参数,主频在空闲时下降更快,更节能,但CPU速度调整会相对慢些;

2、ondemand按需模式:官方及xray内核默认为此项调节模式,顾名思义,按需调节cpu频率,不操作手机的时候控制在最低频率,滑屏或进入应用后会迅速提升至最高频率,当空闲时迅速降低频率,性能较稳定,但因频率变化幅度过大,省电方面只有一般的水平;

3、agfree无延迟模式:基本基于保守模式的频率调节机制,频率上升缓慢,不同之处在于唤醒屏幕后会直接跳跃到一个合适的频率,减少亮起以后的延迟现象,但日常使用性能不高;

4、intellidemand智能按需调节模式:可根据GPU使用情况来针对性调节cpu频率,GPU负载高时,比如运行游戏和测试的时候,cpu频率会迅速升至最高,这时的调节模式类似于ondemand,当GPU空闲时则会自动限制cpu最高频率,更加省电。要游戏性能好,又要省电的可以用下试试;

5、Badass省电模式:当使用badass调节器时,系统将工作在第一限制频率,直到有一个核心超过此频率后再逐步提升,需要脚本支持,比较省电。该模式我正在我的双4中进行调试测试。

但是如果没有做badass限制时,该模式在双核下工作,比较费电。

其他:

cd sys/devices/system/cpu/cpu0/cpufreq

cpuinfo_cur_freq: 当前cpu正在运行的工作频率

cpuinfo_max_freq:该文件指定了处理器能够运行的最高工作频率 (单位: 千赫兹)

 cpuinfo_min_freq :该文件指定了处理器能够运行的最低工作频率 (单位: 千赫兹)

cpuinfo_transition_latency:该文件定义了处理器在两个不同频率之间切换时所需要的时间 (单位: 纳秒)

scaling_available_frequencies:所有支持的主频率列表 (单位: 千赫兹)

scaling_available_governors:该文件显示当前内核中支持的所有cpufreq governor类型

scaling_cur_freq:被governor和cpufreq核决定的当前CPU工作频率。该频率是内核认为该CPU当前运行的主频率 scaling_driver:该文件显示该CPU正在使用何种cpufreq driver

scaling_governor:通过echo命令,能够改变当前处理器的governor类型

scaling_max_freq:显示当前policy的上下限 (单位: 千赫兹)需要注意的是,当改变cpu policy时,需要首先设置scaling_max_freq, 然后才是scaling_min_freq

scaling_setspeed:如果用户选择了“userspace” governor, 那么可以设置cpu工作主频率到某一个指定值 

查看当前支持的governor(手机型号可能略有不同)

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

performance表示不降频, ondemand表示使用内核提供的功能,可以动态调节频率, powersvae表示省电模式,通常是在最低频率下运行, userspace表示用户模式,在此模式下允许其他用户程序调节CPU频率。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Oracle(63)什么是临时表(Temporary Table)?
  • Dubbo,Zookeeper,NSF,Druid,CouchDB未授权访问漏洞(附带修复方法)
  • GORM 插入和批量插入操作介绍
  • EmguCV学习笔记 VB.Net 2.S 特别示例
  • 系统运维工程师学习路线
  • 如何有效利用渗压计来避免溃坝风险
  • 【YashanDB知识库】生成迁移报告失败,“报错未知类型错误异常:“
  • iOS的App启动详细过程(底层知识)
  • python爬取豆瓣电影数据
  • Dynamics 365 如何查看某个自定义实体是谁创建的
  • python之numpy(3 矩阵属性及矩阵运算)
  • 破解 Google 账户注册难题丨0到1学习谷歌广告(1)
  • uniapp实现足球数据分析平台移动端H5
  • js取消焦点事件
  • python中有哪些常用语言成分?
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • Cumulo 的 ClojureScript 模块已经成型
  • EventListener原理
  • Fabric架构演变之路
  • ReactNativeweexDeviceOne对比
  • redis学习笔记(三):列表、集合、有序集合
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Webpack 4 学习01(基础配置)
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 大数据与云计算学习:数据分析(二)
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 机器学习 vs. 深度学习
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 如何合理的规划jvm性能调优
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 新书推荐|Windows黑客编程技术详解
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​比特币大跌的 2 个原因
  • #include<初见C语言之指针(5)>
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (12)Hive调优——count distinct去重优化
  • (7)STL算法之交换赋值
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)Scala的“=”符号简介
  • ***通过什么方式***网吧
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .NET Core Web APi类库如何内嵌运行?
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET处理HTTP请求
  • /bin、/sbin、/usr/bin、/usr/sbin
  • /etc/fstab 只读无法修改的解决办法
  • /var/log/cvslog 太大
  • @Autowired多个相同类型bean装配问题
  • @FeignClient注解,fallback和fallbackFactory
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @NotNull、@NotEmpty 和 @NotBlank 区别