Uploaded image for project: 'Nuxeo ECM Build/Test Environment'
  1. Nuxeo ECM Build/Test Environment
  2. NXBT-1695

Make sure docker runs without swap and slave uses low swappiness

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Continuous Integration

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                bdelbosc Benoit Delbosc
                Participants:
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: