che-server/dockerfiles/init
Sergii Kabashniuk 026598d841
Optimize che-server ram usage on Docker (#7787)
Optimize che-server ram usage on Docker 
Proposal is to set container limit to 750M for both Docker and OpenShift and tune a bit GC

-XX:MaxRAMFraction=2 -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -Xms20m
Important parts

-XX:MaxRAMFraction=2 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap - tels jvm to use ~ CHE_MASTER_CONTAINER_RAM/MaxRAMFraction for heap
We need some space for off-heap activity. During test I saw VmRSS of jvm ~330_000k - 350_000k.
-XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 ask GC to keep heap compact in cost of some CPU.
You can see changes in heap usage pattern in images below.
2017-12-08 18:53:27 +02:00
..
docs Move eclipse/che-dockerfiles che-* images to this repository in /dockerfiles folder 2016-12-01 06:10:34 -07:00
manifests Optimize che-server ram usage on Docker (#7787) 2017-12-08 18:53:27 +02:00
modules Optimize che-server ram usage on Docker (#7787) 2017-12-08 18:53:27 +02:00
s2i Fix kc db import on os (#7251) 2017-11-09 10:55:39 +02:00
Dockerfile Multi-user Eclipse Che (#6441) 2017-10-06 17:27:27 +03:00
build.sh Changed copyright owner to "Red Hat, Inc." in license headers (#5964) 2017-08-11 10:46:58 +03:00
entrypoint.sh Changed copyright owner to "Red Hat, Inc." in license headers (#5964) 2017-08-11 10:46:58 +03:00