shell输出系统负载 cpu

这段脚本用于设置CPU的性能模式或节电模式。当传入参数'p'时,将所有CPU核心的频率限制在最低,否则设置为最大值减去200MHz。它使用`cpufreq-set`工具来改变CPU频率,并显示当前的频率调度器状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

set -x
governor=performance
if [[ “$1” == ‘p’ ]]; then
governor=powersave
fi
#CPU MHz: 3600.000
#CPU max MHz: 3800.0000
#CPU min MHz: 400.0000
max=lscpu | grep 'CPU max MHz' | awk -F' ' '{print $4}' | awk -F'.' '{print $1}'
#min=lscpu | grep 'CPU max MHz' | awk -F' |.' '{print $4}'
max=expr $max \* 1000
let min=$max-200000

cpu=(ls /sys/devices/system/cpu/ | grep -E 'cpu[0-9]{1,2}' | sort -u)
i=0
for c in “${cpu[@]}”;
do

if [[ "$1" == 'p' ]]; then
    #cpufreq-set -c $i -r -g $governor -d 400000 -u 3800000 
    cpufreq-set -c $i -r -g $governor 
else
    cpufreq-set -c $i -r -g $governor -d $min -u $max 
    #cpufreq-set -c $i -r -g $governor
fi
let i++

done
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

### 使用Shell脚本获取和监控CPU信息 为了实现对CPU信息的有效监控,可以通过多种方式来收集数据并设置相应的阈值触发条件。以下是几种常用方法: #### 方法一:通过`vmstat`命令获取CPU使用率 `vmstat`是一个常用的Linux工具,能够报告虚拟内存、内核线程、磁盘、陷阱和CPU活动等信息。 ```bash #!/bin/bash # 设置警告级别(百分比) WARNING_LEVEL=75 CRITICAL_LEVEL=90 cpu_idle=$(vmstat | tail -1 | awk '{print $15}') cpu_usage=$((100-cpu_idle)) if [[ ${cpu_usage} -ge ${CRITICAL_LEVEL} ]]; then echo "Critical CPU Usage: ${cpu_usage}%" elif [[ ${cpu_usage} -ge ${WARNING_LEVEL} ]]; then echo "Warning CPU Usage: ${cpu_usage}%" else echo "Normal CPU Usage: ${cpu_usage}%" fi ``` 此段代码会读取当前的空闲CPU比例,并计算出总的CPU占用情况;当达到预设门限时发出相应级别的通知[^1]。 #### 方法二:利用`mpstat`查看多核心处理器状态 对于拥有多个物理或逻辑处理单元的情况,`mpstat`能提供更详细的统计资料,包括各个CPU的核心性能指标。 ```bash #!/bin/bash MPSTAT_PATH="/usr/bin/mpstat" ${MPSTAT_PATH} 1 1 | grep 'all' | awk '{usage=100-$NF; printf "%.2f%%\n", usage}' ``` 上述脚本每秒更新一次整体平均负载状况,并输出为易于理解的形式——即实际使用的百分比率[^2]。 #### 方法三:借助`top`指令动态跟踪进程级消耗详情 如果目标是定位具体哪个应用程序占用了过多资源,则可以考虑采用`top`命令配合筛选参数来进行深入分析。 ```bash #!/bin/bash TOP_CMD="adb shell top -b -d 1 -n 1 | grep '^%'" while true; do clear eval "${TOP_CMD}" done ``` 这里展示了如何持续刷新显示那些最耗费CPU时间的任务条目,特别适用于Android设备调试场景下的远程诊断工作[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值