DefaultMemoryManagerTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Make totalMemory and freeMemory consistent

We were using different data sources for total and free physical

memory on Linux and MacOS, which lead us to detect memory pressure

were there was in fact none, e.g. when running in containers with

resource limits.

We now get both total and available memory from the same OS specific

data source.

  1. … 17 more files in changeset.
Fix `ConcurrentModificationException`

This commit adds guards around `holder` to make sure the list is not modified concurrently.

This fixes #2452, which was seen under heavy load.

  1. … 1 more file in changeset.
Sample macOS system memory using native-platform instead of vm_stat

See #1270

  1. … 9 more files in changeset.
process-services: properly cleanup DefaultMemoryManagerTest

process-services: properly cleanup DefaultMemoryManagerTest

Less frequently used idle worker daemons memory based expiration

Less frequently used idle worker daemons are expired when available system memory gets below a threshold.

Expiration strategy is triggered both by memory sampling and when the build daemon is about to fork a new process, or a new worker daemon. It will attempt to free enough system memory to fit the new process below the threshold according to it's fork options.

This implementation does an approximation on the amount of memory held by worker daemons, using their max heap setting instead of their committed memory. This will be fixed in subsequent changes.

    • -0
    • +162
    ./DefaultMemoryManagerTest.groovy
  1. … 24 more files in changeset.
First stab at worker processes providing jvm memory information

    • -10
    • +11
    ./DefaultMemoryManagerTest.groovy
  1. … 32 more files in changeset.