首页 > 其他分享 >配置 CPUset

配置 CPUset

时间:2023-11-06 19:59:16浏览次数:39  
标签:CPUset 配置 system dev lmkd background 进程

配置 CPUset

使用 CPUset 子系统可以限制某一类的任务跑在特定的 CPU 或者 CPU 组里面,比如下面,Android 中会划分一些默认的 CPU 组,厂商可以针对不同的 CPU 架构进行定制,目前默认划分

  1. system-background 一些低优先级的任务会被划分到这里,只能跑到小核心里面
  2. foreground 前台进程
  3. top-app 目前正在前台和用户交互的进程
  4. background 后台进程
  5. foreground/boost 前台 boost 进程,通常是用来联动的,现在已经没有用到了,之前的时候是应用启动的时候,会把所有 foreground 里面的进程都迁移到这个进程组里面

每个 CPU 架构对应的 CPUset 的配置都不一样,每个厂商也会有不同的策略在里面,比如下面就是一个 Google 官方默认的配置,各位也可以查看对应的节点来查看自己的 CPUset 组的配置

//官方默认配置
write /dev/CPUset/top-app/CPUs 0-7
write /dev/CPUset/foreground/CPUs 0-7
write /dev/CPUset/foreground/boost/CPUs 4-7
write /dev/CPUset/background/CPUs 0-7
write /dev/CPUset/system-background/CPUs 0-3
// 自己查看
adb shell cat /dev/CPUset/top-app/CPUs
0-7

对应的,可以在每个 CPUset 组的 tasks 节点下面看有哪些进程和线程是跑在这个组里面的

$ adb shell cat /dev/CPUset/top-app/tasks
1687
1689
1690
3559

需要注意每个任务跑在哪个组里面,是动态的,并不是一成不变的,有权限的进程就可以改

部分进程也可以在启动的时候就配置好跑到哪个进程里面,下面是 lmkd 的启动配置,writepid /dev/CPUset/system-background/tasks 这一句把自己安排到了 system-background 这个组里面

service lmkd /system/bin/lmkd
    class core
    user lmkd
    group lmkd system readproc
    capabilities DAC_OVERRIDE KILL IPC_LOCK SYS_NICE SYS_RESOURCE BLOCK_SUSPEND
    critical
    socket lmkd seqpacket 0660 system system
    writepid /dev/CPUset/system-background/tasks

大部分 App 进程是根据状态动态去变化的,在 Process 这个类中有详细的定义

android/os/Process.java

标签:CPUset,配置,system,dev,lmkd,background,进程
From: https://www.cnblogs.com/yuanqiangfei/p/17813556.html

相关文章

  • EF Core 关系配置
    一、一对多publicclassArticle{publiclongId{get;set;}//主键publicstringTitle{get;set;}//标题publicstringContent{get;set;}//内容publicList<Comment>Comments{get;set;}=newList<Comment>();//此文章的若干条评论}......
  • 计算机配置 — 管理模板 — Windows 组件 — 数据收集和预览版本 对应 注册表 位置
    @echooff::切换对预览体验成员内部版本的用户控制regadd"HKLM\SOFTWARE\Policies\Microsoft\WindowsPreviewBuilds"/vAllowBuildPreview/tREG_DWORD/d1/f::允许商业数据管道regadd"HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection"/vCommerc......
  • linux登陆防护fail2ban的优化配置
    fail2ban默认在iptables防火墙filter表的input链内设置规则,这样导致端口映射,和nat转发的流量不在fail2ban控制内。如果修改配置文件/etc/fail2ban/action.d#viiptables-common.conf  把INPUT链修改成FORWARD链后存在同样问题,会导致进入主机的流量不受控。这里需要在IN......
  • datax 配置
    "job":{"setting":{"speed":{"channel":3,"byte":1048576},"errorLimit":{"record":0,"percenta......
  • windows下nginx 配置 开机自启动
    一、windows系统下Nginx安装启动流程:二、设置Nginx开机自动启动1、自启动工具下载2、自启动工具安装3、把nginx加入到windows服务中最后一句话一、windows系统下Nginx安装启动流程:这是我们在正常环境中,Windows下Nginx的安装及启动方式1、到nginx官网下载相应版本(http://nginx.org......
  • JDK 21安装及环境配置
    注意:1、本文的性质为初学者的实操记录,文中内容若与你遭遇的情况不符,请另行寻找更靠谱的教程。比如我参考的就是:“AAA黄豆AAA”的JDK21安装教程2、本文撰写时间为2023年11月6日,操作系统为Windows10家庭版,若时殊事异,请理性对待。一、安装JDK211、从Oracle官网获取JDK21安......
  • 配置使用百度地图时出现:APP Referer校验失败。请检查该ak设置的白名单与访问所有的域
    如果是个人内部测试使用,直接将IP白名单设置为*  ......
  • GBrowse配置相关资料
    GBrowse配置相关资料(形状、颜色、配置、gff3)http://gmod.org/wiki/Glyphs_and_Glyph_Optionshttp://gmod.org/wiki/GBrowse_Configuration/Glyphshttp://gmod.org/wiki/GBrowse_Configuration/Feature_frequency_histograms(2010)http://boyun.sh.cn/bio/?p=1817(2011 GBrowse之......
  • CentOs6.5中安装和配置vsftp简明教程
    一、vsftp安装篇#查看是否已经安装了vsftp:#安装vsftpd(需要root权限)yum-yinstallvsftpd#启动vsftpdservicevsftpdstart#开机自动启动vsftpdchkconfigvsftpdon 二、vsftp相关命令之服务篇#启动ftp服务servicevsftpdstart#查看ftp服务状态servicevsftpdstatus#重......
  • Flutter开发实践:环境配置有哪些注意事项?
    你是不是曾经在代码里把UI、业务逻辑、网络请求混在一个类里,看起来像一锅大杂烩?我也这样做过✋。总而言之,APP开发是困难的。像领域驱动设计Domain-DrivenDesign(DDD)之类的书可以帮助我们开发复杂的软件工程项目。DDD的核心是model,是我们要解决的问题需要掌握的重要知识和概......