2.2 cpu 亲核性绑核调整

435 阅读1分钟

先尝试 adb 上进行调频优先级绑定验证


查看进程在哪个 cpu
ps -o pid,psr,comm -p `pidof -x 'kswapd0'`

ps -o pid,psr,comm -p `pidof -x 'kcompactd0'`

while true; do ps -o pid,psr,comm -p `pidof -x 'kswapd0'`; sleep 0.1;done;

打开sepolicy 

setenforce 0

设置并查看进程 mask
taskset -ap 3f `pidof -x kswapd0`

查看进程 maks
taskset -p  `pidof -x kswapd0`
taskset -p  `pidof -x kcompactd0`

sf 绑大核

sf 移到前台进程组
echo `pidof -x 'surfaceflinger'` >/dev/cpuset/foreground/tasks;cat /dev/cpuset/foreground/tasks|grep -i `pidof -x 'surfaceflinger'`

绑 67大核
taskset -ap c0 `pidof -x surfaceflinger`

 echo 0-5 > dev/cpuset/foreground/cpus

- 查看进程中线程的 pid ---> ps -p 进程 -T |grep -i "render"
- 修改线程优先级为实时调度 ---> chrt -p 1234 ---> chrt -p -f 1523 10

再考虑如何代码实现

  • framework 层一般是通过 setpriority 相关接口实现
  • 进一步是在 sched.cpp 里面实现