Shell指令碼 效能測試之CPU占有率

2022-03-18 16:24:59 字數 2232 閱讀 4892

這裡就簡單說下計算步驟吧:

1.獲取測試裝置的 cpu 核心數

2.計算程序的 cpu 使用時間

3.計算總的 cpu 使用時間

4.程序的 cpu 使用率 = (程序的 cpu 使用時間 / 總的 cpu 使用時間) * cpu 核心數 * 100

**如下:

#!/usr/bin/env bash

# 建立輸出資料夾和臨時資料夾

function init_data() ]]; then

mkdir -p $

fiif [[ ! -d $ ]]; then

mkdir -p $

fi}# 通過adb shell ps命令獲取程序號

function get_pid() | tr -d $'\r' | awk '' | head -n 1

}# 通過adb shell cat /proc/cpuinfo命令計算出cpu核心數

function get_cpu_ker() /processor_count

cpu_ker_count=`awk 'end' $/processor_count`

echo $

}# 通過adb shell cat /proc//stat命令計算出程序cpu時間

function process_cpu_time() /stat > $/process_cpu_time

utime=$(cat $/process_cpu_time | awk '')

stime=$(cat $/process_cpu_time | awk '')

cutime=$(cat $/process_cpu_time | awk '')

cstime=$(cat $/process_cpu_time | awk '')

result=`expr $ + $ + $ + $`

echo $

}# 通過adb shell cat /proc/stat命令計算出總cpu時間

function total_cpu_time() /total_cpu_time

cat $/total_cpu_time | grep "cpu" | head -n 1 > $/total_cpu

user=$(cat $/total_cpu | awk '')

nice=$(cat $/total_cpu | awk '')

system=$(cat $/total_cpu | awk '')

idle=$(cat $/total_cpu | awk '')

iowait=$(cat $/total_cpu | awk '')

irq=$(cat $/total_cpu | awk '')

softirq=$(cat $/total_cpu | awk '')

result=`expr $ + $ + $ + $ + $ + $ + $`

echo $

}# 計算程序的cpu占有率

function get_cpu_rate() `

total_cpu_time1=`total_cpu_time`

sleep 1s

process_cpu_time2=`process_cpu_time $`

total_cpu_time2=`total_cpu_time`

process_cpu_time3=$(( $ - $ ))

total_cpu_time3=$(( $ - $ ))

cpu_rate=$(bc <<< "scale=3;($/$)*$*100")

result=$(echo "scale=0;$/1" | bc -l)

echo $

}# 獲取指令碼所在的路徑

workspace=`pwd`

# 輸出資料夾

output=$/output_cpu

# 臨時資料夾

temp_file=$/temp

# 建立資料夾

init_data

# 獲取應用包名

package_name=$

# 獲取程序號

pid=`get_pid $`

# 獲取cpu核心數

cpu_ker=`get_cpu_ker`

# cpu占有率

rate=`get_cpu_rate $ $`

echo $

# 返老還童

rm -r output_cpu

Python指令碼效能分析

來自 def foo sum 0 for i in range 10000 sum i suma bar sumb bar return sum defbar sum 0 for i in range 100000 sum i return sum if name main import cprof...

python指令碼效能分析

在進行python開發時需要對python指令碼的效能分析,以便對python指令碼進行優化,下面使用cprofile和 pstats對python指令碼效能分析。cprofile思路 1.使用cprofile模組生成指令碼執行的統計資訊檔案 2.使用pstats格式化統計資訊,並根據需要做排序分析...

PHP提高指令碼效能要點

1.刪除重複項 array keys array flip array 速度比 array unique array 高於30 2.獲取隨機數組記錄 array mt rand 0,count array 1 速度比 array rand array 高於96 3.檢查字串僅包含字母數字字元 cty...