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

安卓系统中线程优先级Priority查看方式汇总

背景:

在audio相关模块开发时候,会有遇到一些优先级比较高的线程比如快速混音线程FastMixer,但是这个快速混音中的快到底是如何体现的呢?其实有一个部分就是线程的优先级,优先级直接会影响线程的cpu获取情况,本文主要来给大家讲解一下如何获取查看系统中相关线程的优先级情况。

adb shell查看线程优先级方式:

查看某个进程各个线程的优先级情况
top -H -p 1014

Threads: 18 total,   0 running,  18 sleeping,   0 stopped,   0 zombieMem:  2728512K total,  2675760K used,    52752K free,    52092K buffersSwap:   524284K total,        0K used,   524284K free,  1206072K cached
400%cpu   0%user   0%nice 150%sys 250%idle   0%iow   0%irq   0%sirq   0%hostTID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ THREAD          PROCESS                                                                                                                    3811 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.19 binder:1014_5   audioserver2886 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.46 binder:1014_4   audioserver2007 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.32 binder:1014_3   audioserver1918 audioserver   1 -19  11G  22M  16M S  0.0   0.8   0:00.13 AudioOut_2D     audioserver1917 audioserver  -4 -19  11G  22M  16M S  0.0   0.8   0:00.00 FastMixer       audioserver1909 audioserver   1 -19  11G  22M  16M S  0.0   0.8   0:00.07 AudioOut_15     audioserver1906 audioserver  -4 -19  11G  22M  16M S  0.0   0.8   0:03.11 FastMixer       audioserver1907 audioserver   1 -19  11G  22M  16M S  0.0   0.8   0:01.04 AudioOut_D      audioserver1908 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.00 HwBinder:1014_3 audioserver1905 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.03 TimerThread     audioserver1342 audioserver   4 -16  11G  22M  16M S  0.0   0.8   0:00.00 ApmAudio        audioserver1343 audioserver   4 -16  11G  22M  16M S  0.0   0.8   0:00.77 ApmOutput       audioserver1106 audioserver   4 -16  11G  22M  16M S  0.0   0.8   0:00.00 AudioFlinger_Pa audioserver1102 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.00 HwBinder:1014_2 audioserver1099 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.00 HwBinder:1014_1 audioserver1067 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.43 binder:1014_2   audioserver1066 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.04 binder:1014_1   audioserver1014 audioserver  20   0  11G  22M  16M S  0.0   0.8   0:00.81 audioserver     audioserver

这里主要看到 PR NI这两个值。

chrt -p 1906查看具体的scheduling

130|gemini:/ # chrt -p 1906
pid 1906's current scheduling policy: SCHED_FIFO
pid 1906's current scheduling priority: 3
gemini:/ # chrt -p 1014                                                                                                                                                                                   
pid 1014's current scheduling policy: SCHED_OTHER
pid 1014's current scheduling priority: 0
gemini:/ # 

在这里插入图片描述

SCHED_FIFO(先进先出实时调度)
特点:

实时调度策略,无时间片限制相同优先级按FIFO顺序执行高优先级线程可立即抢占低优先级线程线程会一直运行直到:主动放弃、被更高优先级线程抢占、阻塞

SCHED_OTHER(完全公平调度CFS)
特点:

默认调度策略,所有普通线程使用基于完全公平调度器(CFS)算法使用动态优先级,受nice值影响有固定的CPU时间片

Perfetto查看线程优先级方法:

FastMixer线程优先级为96 (real-time)
在这里插入图片描述

普通的MxierThread的优先级为 Priority 101:
在这里插入图片描述
可以看到其实这里看到静态priority是 96和101,和上面top获取的是有一个转换关系
在这里插入图片描述
原文地址:
https://mp.weixin.qq.com/s/LsjJA8WNEfRFV4ts9kdTqQ

更多framework实战干货,请关注下面“千里马学框架”

http://www.dtcms.com/a/507431.html

相关文章:

  • 北京企业建设网站制作呼叫中心系统解决方案
  • IDEA EmmyLua 配置+调试
  • Win11 微软账户登录后,设置没有同步到新电脑,怎样强制刷新?
  • 网站页面设计教程济宁定制网站建设推广
  • 轮询那些事儿
  • GitLab安装
  • Redis八股
  • 网站gif素材dw做网站背景音乐
  • 做网站编程有钱途么做玩具订制网站好处
  • CI/CD:现代软件开发的持续交付之道
  • 【理论知识】Q/K/V权重矩阵学习笔记
  • 【小增长电商软件分享】微信私域淘宝电商补单/做基础销量:如何有效控制粉丝错货、复购、订单插旗及客服转账返款等常见痛点|粉丝订单管理|电商鱼塘运营方案
  • Tomcat安装与HTML响应实战
  • 第三章深度学习---核心库TensorFlow 和 PyTorch 实操指南(四)
  • YOLO v4模型
  • uni-app 小程序开发避坑:诡异的 `module ‘...‘ is not defined` 错误与我的解决方案
  • 中国最大的中文网站安庆微信网站开发
  • 广州市南沙区建设局网站网站建设与规划总结
  • 百度 PaddleOCR 3.0 深度测评:与 MinerU 的复杂表格识别对决
  • 选cpp /c++方向工作职业发展的优缺点
  • 香港硬防服务器防御DDOS攻击的优点
  • 如何利用扣子生成小程序并进行发布指南
  • Rust 与 Go – 比较以及每个如何满足您的需求
  • HTTP 核心知识点速查表
  • YOLOv4 :兼顾速度与精度!
  • 甘南网站建设asp网站仿制
  • 【AI4S】Generative AI 为药物设计带来新思路:寻找“美丽分子”
  • 第19节-非规范化数据类型-Enum
  • 曼彻斯特编码与差分曼彻斯编码的区别
  • 网站内链检测百度关键词优化工具是什么