From 0f6dbe9c3efe79da68bab186a68e0103ce25bac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=90=E8=AF=9D?= <49544781+xiaomeng9597@users.noreply.github.com> Date: Sat, 18 May 2024 05:49:26 +0800 Subject: [PATCH] add coremark.sh --- configfiles/coremark/coremark.sh | 67 ++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 configfiles/coremark/coremark.sh diff --git a/configfiles/coremark/coremark.sh b/configfiles/coremark/coremark.sh new file mode 100644 index 0000000..c2bbfcf --- /dev/null +++ b/configfiles/coremark/coremark.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +LOG=/etc/bench.log +echo "
" > $LOG + +GOV="/sys/devices/system/cpu/cpufreq/policy0/scaling_governor" +if [ -f "$GOV" ];then + CURRENT_GOVERNOR=$(cat $GOV) + GOV_FLAG=1 +else + GOV_FLAG=0 +fi + +trap "echo killed;test $GOV_FLAG -eq 1 && echo ${CURRENT_GOVERNOR} > ${GOV} 2>/dev/null;echo '
' >> $LOG;rm -f /tmp/*.score;exit" 1 2 3 9 15 + +GOV_HOME='/sys/devices/system/cpu/cpufreq/' +govs=() +if [ $GOV_FLAG -eq 1 ];then + POLICIES=$(cd $GOV_HOME && ls -d policy*) + i=1 + for POLICY in $POLICIES;do + CUR_GOV="${GOV_HOME}/${POLICY}/scaling_governor" + govs[$i]=$(cat $CUR_GOV) + echo "performance" > ${CUR_GOV} 2>/dev/null + i=$((i+1)) + done +fi + +echo "testing coremark ... " +sleep 1 +COREMARK=$(/sbin/coremark | tail -n 1 | awk '{print $4}') +# 分数取整 +# COREMARK=${COREMARK%.*} +echo "CPU CoreMark : $COREMARK" +echo "CPU CoreMark$COREMARK" >> $LOG + +if [ -x /usr/bin/openssl ];then + CORES=$(grep processor /proc/cpuinfo | wc -l) + + PROJS="aes-128-gcm aes-256-gcm chacha20-poly1305" + for P in $PROJS;do + echo "testing $P ..." + sleep 1 + /usr/bin/openssl speed -multi $CORES -evp $P 1>/tmp/${P}.score 2>/dev/null || echo "NA" >/tmp/${P}.score + S=$(tail -n 1 /tmp/${P}.score | awk '{print $5}') + echo "${P}(1K) : ${S}" + echo "${P}(1K)$S" >> $LOG + rm -f /tmp/${P}.score + done + +fi + +echo "" >> $LOG + +if [ $GOV_FLAG -eq 1 ];then + i=1 + for POLICY in $POLICIES;do + CUR_GOV="${GOV_HOME}/${POLICY}/scaling_governor" + echo "${govs[$i]}" > ${CUR_GOV} 2>/dev/null + i=$((i+1)) + done +fi + +if [ -f "$LOG" ]; then + sed -i '/coremark/d' /etc/crontabs/root + crontab /etc/crontabs/root +fi