Skip to content

Commit dd0167e

Browse files
lcharlois-neotyselgalu
authored andcommitted
FIX elgalu#357 : Use CGROUP limit to determine Java Xmx parameter. (elgalu#358)
1 parent 8eb6639 commit dd0167e

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

java/bin/java-dynamic-memory-opts.sh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,14 @@ die () {
1818
# Required env vars validations
1919
[ -z "${MEM_JAVA_PERCENT}" ] && die "Need to set env var MEM_JAVA_PERCENT"
2020

21-
MEM_TOTAL_KB=$(cat /proc/meminfo | grep MemTotal | awk '{print $2}')
21+
MEM_TOTAL_KB=0
22+
23+
CGROUP_LIMIT=$(cat /sys/fs/cgroup/memory/memory.limit_in_bytes)
24+
if [ $CGROUP_LIMIT -ne 9223372036854771712 ] && [ $CGROUP_LIMIT -gt 0 ] ; then
25+
MEM_TOTAL_KB=$CGROUP_LIMIT/1000
26+
else
27+
MEM_TOTAL_KB=$(cat /proc/meminfo | grep MemTotal | awk '{print $2}')
28+
fi
2229
MEM_JAVA_KB=$((${MEM_TOTAL_KB} * ${MEM_JAVA_PERCENT} / 100))
2330
[ -z "${MEM_JAVA}" ] && export MEM_JAVA="${MEM_JAVA_KB}k"
2431

0 commit comments

Comments
 (0)