You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.
Docker can put memory and cpu limits on processes running inside of containers that are a subset of all system resources. However, the current resource detection in dagr is not aware of the control groups that limit the resource usage in a container.
Because of this there is the potential for the dagr pipeline to over allocate resources which can cause out of memory container exits.
Potential Solutions
The current resource detection uses the oshi library who's recommended "fix" is to read the limits from the files on the underlying OS that contain them. oshi/oshi#893
This requires the resource detection to have logic to determine if it is running in a container environment and where to look for those files if it is.
Alternatively, JDK 10 has docker aware resource detection that has been back-ported to JDK 8 v191+
Background:
Docker can put memory and cpu limits on processes running inside of containers that are a subset of all system resources. However, the current resource detection in dagr is not aware of the control groups that limit the resource usage in a container.
Because of this there is the potential for the dagr pipeline to over allocate resources which can cause out of memory container exits.
Potential Solutions
The current resource detection uses the oshi library who's recommended "fix" is to read the limits from the files on the underlying OS that contain them. oshi/oshi#893
This requires the resource detection to have logic to determine if it is running in a container environment and where to look for those files if it is.
Alternatively, JDK 10 has docker aware resource detection that has been back-ported to JDK 8 v191+
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8196595
These features are on be default so resource querying does not need any logic to determine if it is running in a container or not.
The text was updated successfully, but these errors were encountered: