-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prevent workspaces from being OOM killed #14507
Conversation
started the job as gitpod-build-fo-oom-score.4 because the annotations in the pull request description changed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've just read the RFC, sounds like a clever solution 🙂
I've made a small suggestion just in case we want to easily observe if this strategy is working as we expected or not, feel free to just ignore the suggestion if it doesn't make sense!
} | ||
} | ||
|
||
func (c *ProcessPriorityV2) adaptOOMScore(procType ProcessType, pid int64) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to add 2 counters here:
- One for everytime the we try to adjust the OOM Score
- Another everytime we fail to adjust the OOM Score
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this case I feel that just logging if we cannot adapt the oom score is enough.
cgroup.ProcessWorkspaceKit: config.OOMScores.Tier1, | ||
cgroup.ProcessSupervisor: config.OOMScores.Tier1, | ||
cgroup.ProcessCodeServer: config.OOMScores.Tier1, | ||
cgroup.ProcessIDE: config.OOMScores.Tier1, | ||
cgroup.ProcessCodeServerHelper: config.OOMScores.Tier2, | ||
cgroup.ProcessWebIDEHelper: config.OOMScores.Tier2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Furisto may I ask, did you socialize this improvement with the IDE team? I ask because it would make sense to get their feedback on this grouping and tier assignment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gitpod-io/engineering-ide What do you think about this assignment? Tier 1 processes would not be oom killed with this change and for Tier 2 processes it is less likely. You can see how we identity the processes here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@Furisto is this missing the |
@Furisto got it! Thank you 🙏 |
Description
Prevent workspaces from being OOM killed. See the RFC for details.
Related Issue(s)
Fixes #13254
How to test
Release Notes
Werft options:
If enabled this will build
install/preview
Valid options are
all
,workspace
,webapp
,ide