@@ -5,6 +5,7 @@ XMX_DEF=${XMX_DEF:-AUTO}
5
5
# if auto then set XMX = 80% * total available RAM
6
6
XMX_DEF_PERCENT=${XMX_DEF_PERCENT:- 80}
7
7
XMS_DEF=${XMS_DEF:- 32M}
8
+ XMS_DEF_PERCENT=${XMS_DEF_PERCENT:- AUTO}
8
9
XMINF_DEF=${XMINF_DEF:- 0.1}
9
10
XMAXF_DEF=${XMAXF_DEF:- 0.3}
10
11
GC_DEF=${GC_DEF:- G1GC}
@@ -36,33 +37,38 @@ function normalize {
36
37
37
38
ARGS=(" $@ " )
38
39
40
+ memory_total=` free -m | grep Mem | awk ' {print $2}' `
41
+ # checking cgroup memory limit in container https://goo.gl/gnF8m9
42
+ CGROUP_MEMORY_LIMIT=" /sys/fs/cgroup/memory/memory.limit_in_bytes"
43
+ if [ -f $CGROUP_MEMORY_LIMIT ]; then
44
+ cgroup_limit=$(( `cat $CGROUP_MEMORY_LIMIT `/ 1024 / 1024 ))
45
+ # choosing the smaller value
46
+ memory_total=$(( memory_total < cgroup_limit ? memory_total : cgroup_limit ))
47
+ fi
48
+
39
49
if ! echo ${ARGS[@]} | grep -q " \-Xms[0-9]\+."
40
50
then
51
+ if [[ " X${XMS_DEF_PERCENT^^} " == " XAUTO" ]] ; then
41
52
[ -z " $XMS " ] && { XMS=" -Xms$XMS_DEF " ; }
42
- ARGS=(" $( normalize $XMS -Xms) " " ${ARGS[@]} " );
53
+ else
54
+ [[ $XMS_DEF_PERCENT > $XMX_DEF_PERCENT ]] && XMS_DEF_PERCENT=$XMX_DEF_PERCENT
55
+ let XMS=memory_total* XMS_DEF_PERCENT/100
56
+ XMS=" -Xms${XMS} M"
57
+ fi
58
+ ARGS=(" $( normalize $XMS -Xms) " " ${ARGS[@]} " );
43
59
fi
44
60
45
61
if ! echo ${ARGS[@]} | grep -q " \-Xmx[0-9]\+."
46
62
then
47
63
[ -z " $XMX " ] && {
48
- [ " $XMX_DEF " == " AUTO" ] && {
49
- memory_total=` free -m | grep Mem | awk ' {print $2}' `
50
-
51
- # checking cgroup memory limit in container https://goo.gl/gnF8m9
52
- CGROUP_MEMORY_LIMIT=" /sys/fs/cgroup/memory/memory.limit_in_bytes"
53
- if [ -f $CGROUP_MEMORY_LIMIT ]; then
54
- cgroup_limit=$(( `cat $CGROUP_MEMORY_LIMIT `/ 1024 / 1024 ))
55
- # choosing the smaller value
56
- memory_total=$(( memory_total < cgroup_limit ? memory_total : cgroup_limit ))
57
- fi
58
-
64
+ [ " $XMX_DEF " == " AUTO" ] && {
59
65
let XMX=memory_total* XMX_DEF_PERCENT/100
60
66
XMX=" -Xmx${XMX} M"
61
67
} || {
62
68
XMX=" -Xmx${XMX_DEF} "
63
69
}
64
70
}
65
- ARGS=(" $( normalize $XMX -Xmx) " " ${ARGS[@]} " );
71
+ ARGS=(" $( normalize $XMX -Xmx) " " ${ARGS[@]} " );
66
72
else
67
73
XMX=` echo ${ARGS[@]} | grep -o " \-Xmx[0-9]\+." `
68
74
fi
0 commit comments