2024-12-14 11:17:47 +08:00
|
|
|
echo > swap_result.csv
|
2024-11-25 10:32:44 +08:00
|
|
|
for dir in /sys/kernel/mm/transparent_hugepage/hugepages-*; do
|
2024-12-14 11:17:47 +08:00
|
|
|
echo $dir $(cat $dir/enabled) >> swap_result.csv
|
2024-11-25 10:32:44 +08:00
|
|
|
done
|
2024-12-14 11:39:14 +08:00
|
|
|
echo swpoutbad,swpinbad,pagefaults,itlbmiss,dtlbmiss >> swap_result.csv
|
2024-11-25 10:32:44 +08:00
|
|
|
|
2024-11-26 13:40:30 +08:00
|
|
|
for i in $(seq 1 10); do
|
2024-11-25 10:32:44 +08:00
|
|
|
echo $i
|
2024-11-25 11:12:59 +08:00
|
|
|
echo 3 > /proc/sys/vm/drop_caches
|
2024-11-25 10:32:44 +08:00
|
|
|
|
2024-12-14 11:08:25 +08:00
|
|
|
simpleperf stat -e page-faults,dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses ./test_swap > result 2>&1
|
2024-11-25 10:32:44 +08:00
|
|
|
killall test_swap
|
2024-11-25 11:12:59 +08:00
|
|
|
swpoutbad=$(cat result | grep "swp out" | awk '{print $4}' | sed 's/,//g')
|
|
|
|
|
swpinbad=$(cat result | grep "swp in" | awk '{print $4}' | sed 's/,//g')
|
2024-12-14 11:39:14 +08:00
|
|
|
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')
|
2024-12-14 11:17:47 +08:00
|
|
|
echo $pagefaults,$dtlbmiss,$itlbmiss,$swpoutbad,$swpinbad >> swap_result.csv
|
2024-11-25 10:32:44 +08:00
|
|
|
done
|
|
|
|
|
|