diff --git a/bilibili.sh b/bilibili.sh new file mode 100644 index 0000000..5a25025 --- /dev/null +++ b/bilibili.sh @@ -0,0 +1,34 @@ +echo > csv_bilibili.csv +for dir in /sys/kernel/mm/transparent_hugepage/hugepages-*; do + echo $dir $(cat $dir/enabled) >> csv_bilibili.csv +done + +for i in $(seq 1 10); do + # record data background + echo 3 > /proc/sys/vm/drop_caches + simpleperf stat -e dTLB-load-misses,iTLB-load-misses,page-faults --app tv.danmaku.bli > result 2>&1 & + + echo "start biliblii on your phone" + sleep 5 + echo "after biliblii started, close biliblii on your phone, press any key then enter to kill all bilibili processes" + read tmp + + for pid in `ps -ef | grep tv.danmaku.bli | grep -v simpleperf | grep -v grep -v grep | awk '{print $2}'`; do kill $pid; done + + while true; do + if [ $(cat result | wc -l) -gt 0 ]; then + break + fi + sleep 1 + echo '...' + done + + dtlbmiss=$(cat result | grep dTLB-load-misses | awk '{print $1}' | sed 's/,//g') + itlbmiss=$(cat result | grep iTLB-load-misses | awk '{print $1}' | sed 's/,//g') + pagefault=$(cat result | grep page-faults | awk '{print $1}' | sed 's/,//g') + + echo "$dtlbmiss,$itlbmiss,$pagefault" >> csv_bilibili.csv + + echo "press any key to run another round test" + read tmp +done