memory_test/perf_test.sh

21 lines
894 B
Bash

echo > swap_result.csv
for dir in /sys/kernel/mm/transparent_hugepage/hugepages-*; do
echo $dir $(cat $dir/enabled) >> swap_result.csv
done
echo swpoutbad,swpinbad,pagefaults,itlbmiss,dtlbmiss >> swap_result.csv
for i in $(seq 1 10); do
echo $i
echo 3 > /proc/sys/vm/drop_caches
simpleperf stat -e page-faults,dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses ./test_swap > result 2>&1
killall test_swap
swpoutbad=$(cat result | grep "swp out" | awk '{print $4}' | sed 's/,//g')
swpinbad=$(cat result | grep "swp in" | awk '{print $4}' | sed 's/,//g')
pagefaults=$(cat result | grep page-faults | awk '{print $1}' | sed 's/,//g')
itlbmiss=$(cat result | grep iTLB-load-misses | awk '{print $1}' | sed 's/,//g')
dtlbmiss=$(cat result | grep dTLB-load-misses | awk '{print $1}' | sed 's/,//g')
echo $pagefaults,$dtlbmiss,$itlbmiss,$swpoutbad,$swpinbad >> swap_result.csv
done