summaryrefslogtreecommitdiffstats
path: root/vespabase
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-06-16 09:02:59 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-06-16 09:22:30 +0000
commit43935f2b36a8b3ae2f4b5381ab692b9219b05aae (patch)
treef879b8d564e2c4b3b227c1e40608f4d3081346b1 /vespabase
parentff9785791affddb70748738bc38eb6a0610be9a2 (diff)
Use /sys/kernel/mm/transparent_hugepage/hpage_pmd_size for checking size of transparent hugepages.
Diffstat (limited to 'vespabase')
-rwxr-xr-xvespabase/src/common-env.sh34
1 files changed, 10 insertions, 24 deletions
diff --git a/vespabase/src/common-env.sh b/vespabase/src/common-env.sh
index b64de704d85..443234e82ed 100755
--- a/vespabase/src/common-env.sh
+++ b/vespabase/src/common-env.sh
@@ -129,29 +129,19 @@ optionally_reduce_base_frequency() {
fi
}
-get_hugepage_size_mb() {
- while read -r name size rest
+get_thp_size_mb() {
+ thp_size=2
+ while read -r size
do
- if [[ "$name" =~ ^Hugepagesize:$ ]]
- then
- hugepagesize="$size"
- unit="${rest,,}"
- break
- fi
- done < /proc/meminfo
- if [[ "$unit" == "kb" ]]; then
- hugepage_size_mb=$(($hugepagesize / 1024))
- else
- echo "Failed extracting hugepage size from /proc/meminfo. Unknown unit($unit)"
- exit 1
- fi
- OUT=$hugepage_size_mb
+ thp_size=$(($size / 1024 / 1024))
+ break
+ done < /sys/kernel/mm/transparent_hugepage/hpage_pmd_size
+ echo "$thp_size"
}
get_jvm_hugepage_settings() {
local heap_mb="$1"
- get_hugepage_size_mb
- sz_mb=$OUT
+ sz_mb=$(get_thp_size_mb)
if (($sz_mb * 2 < $heap_mb)); then
options=" -XX:+UseTransparentHugePages"
fi
@@ -178,15 +168,11 @@ get_heap_size() {
}
get_min_heap_mb() {
- args=$1
- size=$2
- get_heap_size "-Xms" "$args" $size
+ get_heap_size "-Xms" "$1" $2
}
get_max_heap_mb() {
- args=$1
- size=$2
- get_heap_size "-Xmx" "$args" $size
+ get_heap_size "-Xmx" "$1" $2
}
populate_environment