Gradle build in Docker container taking up too much memory Gradle build in Docker container taking up too much memory docker docker

Gradle build in Docker container taking up too much memory


Receive os memory updates and request more memory each time the task is complete than it is confirmed to be available so that the daemon stops.

import org.gradle.process.internal.health.memory.OsMemoryStatusimport org.gradle.process.internal.health.memory.OsMemoryStatusListenerimport org.gradle.process.internal.health.memory.MemoryManagertask task expireWorkers {    doFirst {        long freeMemory = 0        def memoryManager = services.get(MemoryManager.class)        gradle.addListener(new TaskExecutionListener() {            void beforeExecute(Task task) {            }            void afterExecute(Task task, TaskState state) {                println "Freeing up memory"                memoryManager.requestFreeMemory(freeMemory * 2)            }        })        memoryManager.addListener(new OsMemoryStatusListener() {            void onOsMemoryStatus(OsMemoryStatus osMemoryStatus) {                freeMemory = osMemoryStatus.freePhysicalMemory            }        })    }}