一、前言
在Android系统性能监控中,统计每个线程在一段时间内的平均CPU使用率对开发者来说是一个重要的任务.因为这不仅有助于我们了解设备的运行状况,还能帮助开发者优化应用性能。下文我将介绍如何在Android手机上实现统计一个进程中每个线程的平均CPU使用率。
注:此脚本的实现需要我们的安卓设备上面有top工具
二、脚本实现
#!/bin/bash
# 输入要监控的进程ID (PID)
echo "请输入要监控的进程ID (PID):"
read pid
# 检查输入的PID是否存在
if ! ps -p "$pid" -o pid= > /dev/null; then
echo "进程ID $pid 不存在!"
exit 1
fi
# 初始化变量
declare -A cpu_sums # 存储每个线程的CPU使用时间总和
declare -A sample_counts # 存储每个线程的采样次数
declare -A thread_cmds # 存储每个线程的命令或名称
is_running=false # 统计是否正在运行
should_stop=false # 标记是否应该停止统计
sample_interval=1 # 设置采样间隔为1秒
start_time=0 # 用于记录统计开始的时间
# 设置信号处理,当按下Ctrl+C时,设置should_stop为true
trap 'should_stop=true;' SIGINT
# 如何开始和停止统计
echo "按下 's' 键开始统计,按下 'Ctrl+C' 键结束统计(采样间隔为 $sample_interval 秒):"
# 主循环,等待输入
while true; do
read -rsn1 input # 从标准输入读取一个字符,不回显,不等待换行
case "$input" in
s)
# 如果统计未运行,则开始统计
if ! $is_running; then
is_running=true
start_time=

5万+

被折叠的 条评论
为什么被折叠?



