nareshkamboju

run_vmtests

Jul 28th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. #!/bin/bash
  2. #please run as root
  3.  
  4. echo "cat /proc/meminfo"
  5. cat /proc/meminfo
  6.  
  7. echo "cat /proc/sys/vm/nr_hugepages"
  8. cat /proc/sys/vm/nr_hugepages
  9.  
  10. echo "cat /proc/slabinfo"
  11. cat /proc/slabinfo
  12.  
  13. echo "cat /proc/buddyinfo"
  14. cat /proc/buddyinfo
  15.  
  16.  
  17. #we need 256M, below is the size in kB
  18. needmem=262144
  19. mnt=./huge
  20. exitcode=0
  21.  
  22. #get pagesize and freepages from /proc/meminfo
  23. while read name size unit; do
  24. if [ "$name" = "HugePages_Free:" ]; then
  25. freepgs=$size
  26. fi
  27. if [ "$name" = "Hugepagesize:" ]; then
  28. pgsize=$size
  29. fi
  30. done < /proc/meminfo
  31.  
  32. #set proper nr_hugepages
  33. if [ -n "$freepgs" ] && [ -n "$pgsize" ]; then
  34. nr_hugepgs=`cat /proc/sys/vm/nr_hugepages`
  35. needpgs=`expr $needmem / $pgsize`
  36. tries=2
  37. while [ $tries -gt 0 ] && [ $freepgs -lt $needpgs ]; do
  38. lackpgs=$(( $needpgs - $freepgs ))
  39. echo 3 > /proc/sys/vm/drop_caches
  40. echo $(( $lackpgs + $nr_hugepgs )) > /proc/sys/vm/nr_hugepages
  41. if [ $? -ne 0 ]; then
  42. echo "Please run this test as root"
  43. exit 1
  44. fi
  45. while read name size unit; do
  46. if [ "$name" = "HugePages_Free:" ]; then
  47. freepgs=$size
  48. fi
  49. done < /proc/meminfo
  50. tries=$((tries - 1))
  51. done
  52. if [ $freepgs -lt $needpgs ]; then
  53. printf "Not enough huge pages available (%d < %d)\n" \
  54. $freepgs $needpgs
  55. exit 1
  56. fi
  57. else
  58. echo "no hugetlbfs support in kernel?"
  59. exit 1
  60. fi
  61.  
  62. mkdir $mnt
  63. mount -t hugetlbfs none $mnt
  64.  
  65. #cleanup
  66. umount $mnt
  67. rm -rf $mnt
  68. echo $nr_hugepgs > /proc/sys/vm/nr_hugepages
  69.  
  70. echo "-----------------------"
  71. echo "running compaction_test"
  72. echo "-----------------------"
  73. ./compaction_test
  74. if [ $? -ne 0 ]; then
  75. echo "[FAIL]"
  76. exitcode=1
  77. else
  78. echo "[PASS]"
  79. fi
  80.  
  81.  
  82. echo "cat /proc/meminfo"
  83. cat /proc/meminfo
  84.  
  85. echo "cat /proc/sys/vm/nr_hugepages"
  86. cat /proc/sys/vm/nr_hugepages
  87.  
  88. echo "cat /proc/slabinfo"
  89. cat /proc/slabinfo
  90.  
  91. echo "cat /proc/buddyinfo"
  92. cat /proc/buddyinfo
  93.  
  94. exit $exitcode
Add Comment
Please, Sign In to add comment