android核绑定cpuset配置与检测进程所在核cpuset方法
一、开机阶段
开机有如下阶段。抛开开机动画需要的audio、surfaceflinger等进程,大部分android程序是在/data分区加载完整以后开始加载。所以cpuset的配置可以在 post-fs-data之后。注意,init.rc的不同阶段脚本都可能覆盖前面配置的cpuset。配置好检查与预期不一致,则要配置被重置了。
1) early-init
a) wait_for_coldboot_done
b) property_init
c) keychord_int
d) console_init
e) set_init_properties
2) init
3) early-fs
4) fs
5) post-fs
6) post-fs-data
f) property_service_init
g) signal_init
h) check_startup
7) early-boot
8) boot
9) service
二、配置cpuset
本例策略如下:
开机阶段:
write /dev/cpuset/top-app/cpus 0-5
write /dev/cpuset/foreground/cpus 0-5
write /dev/cpuset/system-background/cpus 0-5
write /dev/cpuset/background/cpus 4-5
开机完成后:
write /dev/cpuset/top-app/cpus 0-3
write /dev/cpuset/foreground/cpus 0-3
write /dev/cpuset/system-background/cpus 3-5
配置方法:
修改init.rc
on early-bootwrite /dev/cpuset/top-app/cpus 0-5write /dev/cpuset/foreground/cpus 0-5write /dev/cpuset/foreground/boost/cpus 0-5write /dev/cpuset/system-background/cpus 0-5write /dev/cpuset/background/cpus 4-5
....
on property:sys.boot_completed=1write /proc/sys/kernel/printk 4# init.vendor.rc can override below at on property:sys.boot_completed if neededwrite /dev/cpuset/top-app/cpus 0-3write /dev/cpuset/foreground/cpus 0-3write /dev/cpuset/system-background/cpus 3-5
三、配置特定进程的cpuset
# We want all cores for cameramkdir /dev/cpuset/camera-daemonwrite /dev/cpuset/camera-daemon/cpus 0-5write /dev/cpuset/camera-daemon/mems 0chown cameraserver cameraserver /dev/cpuset/camera-daemonchown cameraserver cameraserver /dev/cpuset/camera-daemon/taskschmod 0660 /dev/cpuset/camera-daemon/tasks
四、验证方法:
在adb shell里面:
#cd /dev/cpuset/top-app
/dev/cpuset/top-app # ps -A -p `cat tasks`
可以看到top-app下活跃的进程
USER PID PPID VSZ RSS WCHAN ADDR S NAME
u0_a53 2217 378 4546160 192796 ep_poll 0 S com.fiilll.app.launcher
然后敲:
ps -o pid,psr,comm -p `pidof com.gwm.fiill.launcher`
显示的PSR就是核
PID PSR COMM2217 1 app_process64
同样的步骤查看system-background
/dev/cpuset/system-background # ps -A -p `cat tasks`
USER PID PPID VSZ RSS WCHAN ADDR S NAME
logd 329 1 76160 56700 sigsuspend 0 S logd
system 330 1 11156 3728 binder_ioctl_write_read 0 S servicemanager
system 331 1 2126696 6756 binder_ioctl_write_read 0 S hwservicemanager
system 332 1 11872 3096 binder_ioctl_write_read 0 S vndservicemanager
system 474 1 56072 17740 binder_ioctl_write_read 0 S android.hardware.graphics.composer@2.2-service
root 729 1 9544 2400 ep_poll 0 S lmkd
system 731 1 2192692 34460 ep_poll 0 S surfaceflinger
system 735 1 11220 4420 poll_schedule_timeout 0 S name-server
statsd 897 1 23296 6648 ep_poll 0 S statsd
root 898 1 22688 5752 binder_ioctl_write_read 0 S storaged
root 906 1 38444 13552 poll_schedule_timeout 0 S dlt-daemon
system 954 1 2128968 7096 binder_ioctl_write_read 0 S gatekeeperd
root 955 1 18988 4752 binder_ioctl_write_read 0 S perfprofd
tombstoned 959 1 9232 2300 ep_poll 0 S tombstoned
由于statsd是开机完成前加载的,所以第一次cpuset可能在0-5之间
PID PSR COMM897 0 statsd
我们以此可以判断开机时候配置的是否正常。
现在杀掉该进程重新加载:
kill -6 `pidof statsd`
再查看它的cpuset:
ps -o pid,psr,comm -p `pidof statsd`
发现cpuset已经变了
PID PSR COMM9766 3 statsd
相关文章:
android核绑定cpuset配置与检测进程所在核cpuset方法
一、开机阶段 开机有如下阶段。抛开开机动画需要的audio、surfaceflinger等进程,大部分android程序是在/data分区加载完整以后开始加载。所以cpuset的配置可以在 post-fs-data之后。注意,init.rc的不同阶段脚本都可能覆盖前面配置的cpuset。配置好检查与…...
Lnton羚通关于如何使用nanoPC-T4 安装OpenCV?
nanoPC-T4 安装 OpenCV Note: OpenCV has been pre-installed in FriendlyCore/FriendlyDesktop (Version after 201905) and does not require manual installation. Please download the latest FriendlyCore/FriendlyDesktop Image file from the following URL: http://do…...
内存泄漏:前端开发者的噩梦——内存泄露的原因及排查
在前端开发中,内存泄漏是一个常见但令人头疼的问题。它会导致应用程序变得缓慢,不稳定,最终可能崩溃。本文将介绍内存泄漏的概念、常见泄漏原因以及如何排查和预防内存泄漏。 什么是内存泄漏? 内存泄漏是指应用程序中的内存被错…...
高效使用ChatGPT之ChatGPT客户端
ChatGPT客户端,支持Mac, Windows, and Linux 下载地址见文章结尾 软件截图 Windows: Mac: 说明 chatgpt桌面版,相比于网页版的chatgpt,最大的特色是支持历史聊天对话记录导出,且支持三种格式:PNG、PDF、…...
【腾讯云 TDSQL-C Serverless 产品体验】基于TDSQL-C 存储爬取的QQ音乐歌单数据
【腾讯云 TDSQL-C Serverless 产品体验】基于TDSQL-C 存储爬取的QQ音乐歌单数据 文章目录 【腾讯云 TDSQL-C Serverless 产品体验】基于TDSQL-C 存储爬取的QQ音乐歌单数据前言出现的背景一、TDSQL-C数据库是什么?二、TDSQL-C 的特点三、TDSQL-C的应用场景四、基于TD…...
leetcode 6450. k-avoiding 数组的最小总和
给你两个整数 n 和 k 。 对于一个由 不同 正整数组成的数组,如果其中不存在任何求和等于 k 的不同元素对,则称其为 k-avoiding 数组。 返回长度为 n 的 k-avoiding 数组的可能的最小总和。 示例 1: 输入:n 5, k 4 输出&#…...
变压器绝缘油耐压试验
试验目的 绝缘油是电气设备常用的绝缘、 灭弧和冷却介质。 为保证它在运行过程中具有良好的性能, 必须定期对其进行各项试验, 尤其是耐压试验。 绝缘油的耐压试验是在专用的击穿电压试验器中进行的, 试验器包括一个瓷质或玻璃油杯、 两个直径…...
Windows控制台API官方文档
2023年8月21日,周下午 中文文档:控制台函数 - Windows Console | Microsoft Learn 英文文档:Console Functions - Windows Console | Microsoft Learn...
PyTorch DataLoader 报错 “DataLoader worker exited unexpectedly“ 的解决方案
注意:博主没有重写d2l的源代码文件,而是创建了一个新的python文件,并重写了该方法。 一、代码运行日志 C:\Users\Administrator\anaconda3\envs\limu\python.exe G:/PyCharmProjects/limu-d2l/ch03/softmax_regression.py Traceback (most r…...
【AI绘画--七夕篇】:七夕特别教程,使用SDXL绘制你的心上人(Stable Diffusion)(封神榜—妲己)
目录 前言0、介绍0-0、结果展示0-1、Stable Diffusion0-2、sdxl介绍 一、云端部署Stable Diffusion1-1、云端平台的优势 二、平台介绍三、注册账号并且开始炼制3-1、购买算力并创建工作空间3-2、启动工作空间3-3、应用市场一键安装3-4、使用Stable-Diffusion作图 四、有女朋友的…...
hadoop2的集群数据将副本存储在hadoop3
在 Hadoop 集群中,HDFS 副本是分布式存储的,会存储在不同的节点上。因此,如果您的 HDFS 所在路径是在 Hadoop2 集群中,您可以在 Hadoop3 集群上添加新的节点,并向 Hadoop3 集群中添加这些新节点上的数据副本。 以下是…...
c# ??=
空合并运算符 ??,用于定义引用类型和可空类型的默认值。如果此运算符的左操作符不为Null,则此操作符返回左操作数,否则返回右操作数。 例如: //当a不为空时返回a,为null时返回b var c a ?? b;空合并赋值运算符??…...
存储系统性能优化中IOMMU的作用是什么?
一、IOMMU原理 IOMMU(Input/Output Memory Management Unit)是一种用于管理计算机内存的技术,它允许将物理内存映射到虚拟地址空间。IOMMU通过使用专用的硬件来管理和优化内存访问,从而提高系统性能和稳定性。本文将详细介绍IOMMU的原理,并介绍一些应用案例和典型的问题解…...
localhost:8080 is already in use
报错原因:本机的8080端口号已经被占用。因为机器的空闲端口号是随机分配的,而idea默认启动的端口号是8080,所以是存在这种情况。 对于这个问题,我们只需要重启idea或者修改项目的启动端口号即可。 更推荐第二种。对于修改项目启动端口号&…...
机器学习深度学习——NLP实战(自然语言推断——数据集)
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——NLP实战(情感分析模型——textCNN实现) 📚订阅专栏:机器…...
攻防世界-simple_php
原题 解题思路 flag被分成了两个部分:flag2,flag2。获得flag1需要满足变量a0且变量a≠0,这看起来不能实现,但实际上当变量a的值是字符时,与数字比较会发生强制类型转换,所以a为字符型数据即可,变…...
2023MyBatis 八股文——面试题
MyBatis简介 1. MyBatis是什么? MyBatis 是一款优秀的持久层框架,一个半 ORM(对象关系映射)框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及 获取结果集。MyBa…...
解决出海痛点:亚马逊云科技助力智能涂鸦,实现设备互联互通
今年6月,《财富》(中文版)发布“2023年值得关注的中国出海主力”盘点,在七个赛道中聚焦不断开拓新领域、影响力与日俱增的出海企业。涂鸦智能顺利入选,作为一家全球化公司,相比于产品直接到海外销售的传统出…...
国际刑警组织逮捕 14 名涉嫌盗窃 4000 万美元的网络罪犯
Bleeping Computer 网站披露,4 月份,国际刑警组织发动了一起为期四个月,横跨 25 个非洲国家的执法行动 “Africa Cyber Surge II”,共逮捕 14 名网络犯罪嫌疑人,摧毁 20000 多个从事勒索、网络钓鱼、BEC 和在线诈骗的犯…...
MySQL卸载-Linux版
MySQL卸载-Linux版 停止MySQL服务 systemctl stop mysqld 查询MySQL的安装文件 rpm -qa | grep -i mysql 卸载上述查询出来的所有的MySQL安装包 rpm -e mysql-community-client-plugins-8.0.26-1.el7.x86_64 --nodeps rpm -e mysql-community-server-8.0.26-1.el7.x86_64 -…...
沃虎电子:SFP连接器在高速光模块中的应用与选型要点
SFP(Small Form-factor Pluggable)连接器是现代光通信设备的核心接口组件,广泛应用于交换机、服务器、光模块等设备。随着数据中心向400G/800G演进,SFP连接器的性能要求不断提升。本文从工程实践角度,系统介绍SFP连接器…...
CCS:Code Composer Studio 12.8.1 窗口颜色改为深色
Code Composer Studio (CCS) 基于 Eclipse 平台开发,要将其界面改为深色模式,最推荐且有效的方法是安装 Eclipse Color Theme 插件。以下是针对 CCS 12.8.1 的具体操作步骤:🛠️ 第一步:安装主题插件在 CCS 菜单栏中&a…...
OpenCV实战:用Python+SIFT+八点算法搞定双目视觉匹配(附完整代码)
OpenCV实战:PythonSIFT八点算法实现双目视觉精准匹配 在计算机视觉领域,立体匹配是一个经典而富有挑战性的问题。想象一下,当你用双眼观察世界时,大脑能自动计算出物体的距离——这正是双目视觉系统要模拟的过程。本文将带你用Pyt…...
JavaScript动态交互:在网页中实时调整参数并预览LiuJuan生成效果
JavaScript动态交互:在网页中实时调整参数并预览LiuJuan生成效果 你是不是也遇到过这种情况?想用AI模型生成图片,但每次调整参数都要在代码里改来改去,然后重新运行脚本,等半天才能看到效果。整个过程就像在开盲盒&am…...
像素幻梦工坊实战落地:数字艺术教育机构像素创作课AI教具部署
像素幻梦工坊实战落地:数字艺术教育机构像素创作课AI教具部署 1. 项目背景与教育价值 在数字艺术教育领域,像素艺术作为入门门槛较低但创意空间广阔的艺术形式,正受到越来越多教育机构的青睐。然而传统像素艺术教学面临两大挑战:…...
Vue项目中el-tabs标签栏的5个高级用法与避坑指南
Vue项目中el-tabs标签栏的5个高级用法与避坑指南 在Vue生态中,Element UI的el-tabs组件是构建标签式界面的首选方案。但很多开发者仅停留在基础使用层面,未能充分发挥其潜力。本文将揭示五个高阶技巧,助你打造更灵活、高效的标签系统。 1. 标…...
从定时器到任务调度:用Qt QTimer和QThreadPool构建一个轻量级后台任务管理器
从定时器到任务调度:用Qt QTimer和QThreadPool构建轻量级后台任务管理器 在开发中型Qt应用时,后台任务管理往往成为架构设计的痛点。当简单的定时器无法满足复杂业务需求,当主线程被耗时任务拖累导致界面卡顿,开发者需要一套更优雅…...
JPEXS Free Flash Decompiler技术文档贡献者名单:作者与编辑
JPEXS Free Flash Decompiler技术文档贡献者名单:作者与编辑 【免费下载链接】jpexs-decompiler JPEXS Free Flash Decompiler 项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler JPEXS Free Flash Decompiler是一款强大的开源Flash反编译工具&…...
STM32HAL库项目实战:我把W5500和MQTTClient库‘缝’起来,实现了阿里云OTA升级前传
STM32HAL库与W5500深度整合:从MQTT云连接到OTA升级的工程实践 在嵌入式设备智能化浪潮中,远程固件升级(OTA)已成为工业设备的标配功能。本文将揭示如何基于STM32HAL库和W5500以太网芯片构建可靠的云连接通道,为后续OTA升级打下坚实基础。不同…...
清华学位论文高效排版:thuthesis一站式规范生成解决方案
清华学位论文高效排版:thuthesis一站式规范生成解决方案 【免费下载链接】thuthesis LaTeX Thesis Template for Tsinghua University 项目地址: https://gitcode.com/gh_mirrors/th/thuthesis 🎯 价值定位:为什么选择thuthesis模板&a…...
