Android core control目录下的作用

news/2024/11/20 22:08:23/文章来源:https://www.cnblogs.com/linhaostudy/p/18559431

在 Android 系统中,core control 的目录通常位于:

/sys/module/core_ctl/parameters/

该目录包含一系列文件,用于控制和调节 Android 的 core_ctl 模块的行为。core_ctl 是专门为多核处理器设计的一种动态核心管理机制,尤其在 big.LITTLE 架构下,用于平衡性能和功耗。

以下是该目录下常见文件及其作用的详细说明:


1. min_cpus

  • 作用:指定系统中始终保持在线(online)的最小 CPU 核心数。
  • 影响
    • 确保至少有指定数量的 CPU 核心始终在线,即使系统负载较低。
    • 增加此值会提高性能,但也会增加功耗。
  • 使用示例
    echo 4 > /sys/module/core_ctl/parameters/min_cpus
    

2. max_cpus

  • 作用:限制系统中允许在线的最大 CPU 核心数。
  • 影响
    • 即使负载较高,也不会超过此值上线更多核心。
    • 减小此值可能有助于节能,但可能影响高负载任务的性能。
  • 使用示例
    echo 8 > /sys/module/core_ctl/parameters/max_cpus
    

3. busy_up_thres

  • 作用:决定上线更多核心的负载阈值(以百分比表示)。当核心的平均负载高于此值时,core_ctl 会尝试上线更多核心。
  • 影响
    • 值越低,核心上线越敏感;值越高,系统会更倾向于保持核心离线状态。
  • 使用示例
    echo 70 > /sys/module/core_ctl/parameters/busy_up_thres
    

4. busy_down_thres

  • 作用:决定下线核心的负载阈值(以百分比表示)。当核心的平均负载低于此值时,core_ctl 会尝试下线多余核心。
  • 影响
    • 值越低,核心更容易被下线;值越高,核心倾向于保持在线。
  • 使用示例
    echo 30 > /sys/module/core_ctl/parameters/busy_down_thres
    

5. offline_delay_ms

  • 作用:设置核心在满足下线条件后延迟下线的时间(以毫秒为单位)。
  • 影响
    • 延迟值较大时,可以避免短时间内频繁上线/下线核心,减少核心切换带来的性能波动和功耗损耗。
  • 使用示例
    echo 1000 > /sys/module/core_ctl/parameters/offline_delay_ms
    

6. task_thres

  • 作用:设置触发核心上线所需的最低任务数阈值。当运行任务数超过此值时,core_ctl 会尝试上线更多核心。
  • 影响
    • 值较低时,core_ctl 会更快响应任务增加;值较高时,系统更保守地上线核心。
  • 使用示例
    echo 4 > /sys/module/core_ctl/parameters/task_thres
    

7. nr_running_avg

  • 作用:用于决定是否上线/下线核心的运行任务数平均值。此值由系统动态计算和更新,用户一般只用于查看状态。
  • 使用示例
    cat /sys/module/core_ctl/parameters/nr_running_avg
    

8. is_big_cluster

  • 作用:标记是否为 big.LITTLE 架构中的 big cluster。
  • 影响
    • 如果是 big cluster,core_ctl 会对其采用更激进的策略以提升性能。
  • 使用示例
    cat /sys/module/core_ctl/parameters/is_big_cluster
    

9. enable

  • 作用:启用或禁用 core_ctl 模块。
  • 影响
    • 如果设置为 0core_ctl 不再管理 CPU 核心的在线状态,核心行为完全由调度器决定。
  • 使用示例
    echo 1 > /sys/module/core_ctl/parameters/enable
    

10. cpu_up_ratecpu_down_rate

  • 作用
    • cpu_up_rate:指定核心上线的速度(每秒最大上线核心数)。
    • cpu_down_rate:指定核心下线的速度(每秒最大下线核心数)。
  • 使用示例
    echo 2 > /sys/module/core_ctl/parameters/cpu_up_rate
    echo 1 > /sys/module/core_ctl/parameters/cpu_down_rate
    

总结

/sys/module/core_ctl/parameters/ 目录下的各参数文件,主要是为了提供一个灵活的接口来调节核心的动态管理策略。通过合理配置,可以实现性能和功耗之间的平衡。

在实际使用中:

  1. 性能优先:适当增大 min_cpus 和降低 busy_up_thres
  2. 功耗优先:限制 max_cpus,提高 busy_up_thres,并增加 offline_delay_ms

根据具体场景调整这些参数,可以充分发挥硬件性能的潜力,同时优化用户体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/837558.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

几个实用渲染技术原理和实现

一、快速高斯模糊 1.1 背景 ​ ​​  高斯模糊在wiki上定义为一种图像模糊滤波器,使用正态分布计算每个像素输出颜色。正态分布函数和图像如下所示: \[G(u,v)=\frac{1}{2\pi\delta^2}e^{(-u^2+v^2)/(2\delta^2)} \] ​ ​​  由图可以发现,当x在\(-3\delta\)到\(3\del…

STM32F103嵌套向量中断控制器

一、STM32F103中断介绍 1.1 什么是中断 中断:打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行;举例:当你正在写作业时,做到一半又去吃饭,吃完饭后又回来接着原来的作业继续完成。 对于单片机来说,中断是指CPU正在处理某个事件A,发生了另一件事件…

NFLS贪心与数据结构题单笔记(未完结)

A. 奶牛飞车贪心,把最慢的放前面#include <bits/stdc++.h> using namespace std; constexpr int maxn = 1e6 + 10; int n, m, d, L; int s[maxn]; int ans = 0; inline bool cmp(int x, int y) { return x > y; } int main() {cin >> n >> m >> d …

提取图片中目标物轮廓的像素尺寸

利用OpenCV库,对图片空间转化、灰度处理、二值化处理等,寻找图片中目标物轮廓像素尺寸。1.导入数据库 import cv2 import numpy as np from PIL import Image2.导入图片 image_tif = Image.open(1.tif) #导入tif图像 image_tif.convert(RGB).save(1p.png,PNG) # 转换为png格…

[极客大挑战 2019]BuyFlag

点击右上角的菜单,有一个payflag,直接点击,进入到了pay.php页面发现,需要得到flag有两个要求:必须是该校的学生,密码必须正确。在该页面的网页底部,有代码提示,要求密码不能是纯数字,最后又要==404密码才正确。我们可以想到利用php的弱类型比较:只要前缀有404就好。那…

Thinkpad P14s 的 archlinux 成长手册(i3-wm 窗口管理器)

目录电脑信息i3-wm 快捷键分辨率调整终端版文件管理器壁纸设置触摸板配置合盖后不休眠i3 配置文件截图工具剪切板i3lock-color卸载 i3lock安装 i3lock-color定义配置文件i3 配置文件增加锁屏配置i3 主题和图标修改i3 工作区配置分配应用程序到工作区工作区字体修改i3 启用透明效…

一键生成美观的彩页演示+AI的训练过程科普

一键生成美观彩页 + AI训练揭秘:让你的内容瞬间高大上! 阅读时间: 8分钟 | 字数: 1300+ 你是否曾为制作精美的演示文稿而烦恼?是否对AI的训练过程充满好奇?今天,让我们一起探索如何用AI一键生成美观彩页,同时揭秘ChatGPT的训练过程! 🌟 天工AI彩页:内容创作的革命 🤔事情…

2个月搞定计算机二级C语言——真题(12)解析

1. 前言 本篇我们讲解2个月搞定计算机二级C语言——真题122. 程序填空题 2.1 题目要求2.2 提供的代码 #include <stdio.h> #define N 3 int fun(int (*a)[N]) {int i, j, m1, m2, row, colum;m1 = m2 = 0;for (i = 0; i < N; i++){j = N - i - 1; m1 += a[i][…

mini-lsm通关笔记Week2Day5

项目地址:https://github.com/skyzh/mini-lsm 个人实现地址:https://gitee.com/cnyuyang/mini-lsmSummary 在本章中,您将:实现manifest文件的编解码。 系统重启时从manifest文件中恢复。要将测试用例复制到启动器代码中并运行它们, cargo x copy-test --week 2 --day 5 ca…

SSTI(模板注入)

SSTI:SSTI(Server-Side Template Injection)即服务端模板注入,它是一种安全漏洞攻击技术。 当应用程序在服务器端使用模板引擎来呈现动态生成的内容时,如果用户可以控制模板引擎的输入,就可能导致 SSTI 漏洞。 服务端接收攻击者的恶意输入以后,未经任何处理就将其作为 Web…

blktrace分析IO

前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器。上一节介绍iostat的时候,我们心心念念希望得到块设备处理io的service time,而不是service time + wait time,因为对于评估一个磁盘或者云磁盘而言,service time才是衡量磁盘性能的核心指标和直接指标。很不…

数据库 校验名称唯一性,用于新增和修改功能

数据库 校验名称唯一性,用于新增和修改功能@目录概述代码 概述应用场景:xml,注解方式的自己略微改造即可使用。 提示:存粹方便自己拷贝代码,用于新增和修改前校验名称唯一性问题。代码Service/*** 校验名称是否重名* @Author 211145187* @Date 2022/5/5 15:37* @param nam…