-
Type: Improvement
-
Status: Open
-
Priority: Minor
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Continuous Integration
-
Tags:
-
Backlog priority:500
-
Sprint:DevOps-16
JVM that runs inside container must always have a fixed heap (Xmx and Xms see NXP-1690) because JVM fails to detect available memory inside container and default tend to use way too much memory on big server (> 6GB of RAM).
Another problem is the swap usage, any long running jvm process (depending on the swapiness) will have parts of its heap swapped, the result can be randomly long stop-of-the-world GC. Unit tests that are subsecond time sensible can fails randomly.
Note that by default dockers don't limit the swap usage and the swapiness is the same as the server running the container (60 by default).
It makes sense to disable swap on docker container using the --memory-swap 0 option.
We can keep a swap on the server (CI slave) but at least we should decrease the swapiness to 10.
- is related to
-
NXBT-1690 Make sure that all JVM heap size are fixed on CI slaves
- Open