Onnan lehet tudni, hogy létezik, hogy ha hibás értéket adok meg neki, akkor panaszol rá (pl. 128M helyett 128MB). Ettől függetlenül úgy tűnik nekem, hogy ez az egész csodabazár valami derűs álomvilágban él, ahol kétszáz megabájt szóra sem érdemes, hiszen a RAM a fán terem, ugyebár...
Most éppen így megy, és (pillanatnyilag!) nem verdesi a fejét a cgroup felső korlátjába az alábbi beállításokkal:
docker.mem_limit=1024M JVM_OPTS=-Xms128M -Xmx128M -XX:MaxMetaspaceSize=128M -XX:ReservedCodeCacheSize=128M
Egyébként nyilván van valami korrekt módja is a cgroup lekérdezésének, én ezt tákoltam:
Tmp=$(cat /proc/$Pid/cgroup | grep memory); Cgroup=${Tmp#*/}
cd /sys/fs/cgroup/memory/$Cgroup/
while sleep 1; do
usage=$(cat memory.usage_in_bytes)
usage_max=$(cat memory.max_usage_in_bytes)
usage_lim=$(cat memory.limit_in_bytes)
failcnt=$(cat memory.failcnt)
swusage=$(cat memory.memsw.usage_in_bytes)
swusage_max=$(cat memory.memsw.max_usage_in_bytes)
swusage_lim=$(cat memory.memsw.limit_in_bytes)
swfailcnt=$(cat memory.memsw.failcnt)
printf "%s |%12d %12d %12d %12d |%12d %12d %12d %12d\n" "$(date +%Y%m%d.%H%M%S)" \
"$usage" "$usage_max" "$usage_lim" "$failcnt" \
"$swusage" "$swusage_max" "$swusage_lim" "$swfailcnt"
done
Most, hogy a mai futás megvolt, így állnak az értékek:
dátum idő akt max limit hiba memsw.akt memsw.max memsw.limit memsw.fail 20200520.114723 | 335757312 711954432 1073741824 0 | 335757312 711954432 2147483648 0