cpu 监控方法

2024-01-01 09:52:43

有现场,adb shell进入系统:

top -H -b -d 1 -m 10 -p `pidof android.hardware.audio.service`//持续输出指定进程top10cpu占用的线程

top -H -b -d 1 -m 10 -p 6008,10003,4765?> /data/local/tmp/top.txt?//持续输出指定进程top10 cpu占用的线程

top -b -d 1 -m 10 > /data/local/tmp/top.txt?//持续输出top10进程cpu占用

每天版本有monkey压测,会通过上述命令持续抓取进程cpu占用,如果发现进程cpu占用超过阈值,就抓取这个进程的线程cpu占用,生成一张cpu变化的趋势图

没现场,判断cpu是否超标,通过system_monitor_service进程定期获取cpu占用率。system_monitor_service进程是一个Android的native进程,在init.rc启动时拉起来,每隔1分钟从"/proc/stat"获取CPU total使用率,再从"/proc/pid/cmdline"读取每个进程的cpu使用率,打印系统CPU total占用率和top10进程的cpu使用率到log里面

system_monitor_service

  • 1,可以设置阈值,可以监控指定进程的cpu,如果超过了阈值就抓取simplerperf分析进程哪些线程在做哪些事情
  • 2,为每个进程设置1个最高cpu阈值,同时设置一个通用的cpu阈值,超过了就认定为cpu跑飞,需要强制重启进程。并打印日志,抓perffeto trace

文章来源:https://blog.csdn.net/langjian2012/article/details/135319941
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。