Uploaded image for project: 'Yetus'
  1. Yetus
  2. YETUS-561

Ability to limit user process counts and Docker container's RAM usage

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 0.6.0
    • 0.7.0
    • Precommit
    • None
    • Hide
      <!-- markdown -->
      Apache Yetus now enforces some basic controls around resource limits.

      * `--proclimit` sets `ulimit -Sh` for an upper bound on the amount of processes and Java native threads that may be spawned. The default is set to 1000.

      * Docker `--memory` sizes are now sized with the `--dockermemlimit` option. By default, 4 gigabytes are allocated.

      * Docker mode will set the OOM adjustment value for any process within the container to 500. This is to help guide the kernel to kill Apache Yetus spawned processes before potentially killing any others in low memory conditions. This is to prevent the death of, for example, the Jenkins agent.

      If any process attempts to violate those controls over those limits, there is a very high chance that any process spawned by Apache Yetus and Apache Yetus itself will be killed.
      Show
      <!-- markdown --> Apache Yetus now enforces some basic controls around resource limits. * `--proclimit` sets `ulimit -Sh` for an upper bound on the amount of processes and Java native threads that may be spawned. The default is set to 1000. * Docker `--memory` sizes are now sized with the `--dockermemlimit` option. By default, 4 gigabytes are allocated. * Docker mode will set the OOM adjustment value for any process within the container to 500. This is to help guide the kernel to kill Apache Yetus spawned processes before potentially killing any others in low memory conditions. This is to prevent the death of, for example, the Jenkins agent. If any process attempts to violate those controls over those limits, there is a very high chance that any process spawned by Apache Yetus and Apache Yetus itself will be killed.
    • Important

    Description

      Hadoop is blowing up nodes due to unit tests that consume all of RAM. In an attempt to keep nodes alive, Yetus needs the ability to put an upper limit on the amount that a Docker container can use.

      Attachments

        1. YETUS-561.00.patch
          4 kB
          Allen Wittenauer
        2. YETUS-561.01.patch
          4 kB
          Allen Wittenauer
        3. YETUS-561.02.patch
          4 kB
          Allen Wittenauer
        4. YETUS-561.03.patch
          4 kB
          Allen Wittenauer
        5. YETUS-561.04.patch
          7 kB
          Allen Wittenauer
        6. YETUS-561.05.patch
          8 kB
          Allen Wittenauer

        Issue Links

          Activity

            People

              aw Allen Wittenauer
              aw Allen Wittenauer
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: