-
Notifications
You must be signed in to change notification settings - Fork 5.5k
[native] Add LinuxMemoryChecker check/warning to ensure system-mem-limit-gb is reasonably set #24149
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
[native] Add LinuxMemoryChecker check/warning to ensure system-mem-limit-gb is reasonably set #24149
Conversation
4478ae1 to
15f55bb
Compare
15f55bb to
7646600
Compare
czentgr
left a comment
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.
Can we add a test with fake files again just like we did with the original tests for this class?
That way we can try the "max" value for cgv2, and gigantic values and reasonable values. Basically testing the various situations we saw when investigating this.
8da401b to
4ae2cee
Compare
pramodsatya
left a comment
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.
Thanks @minhancao, could you please squash the commits?
presto-native-execution/presto_cpp/main/tests/LinuxMemoryCheckerTest.cpp
Outdated
Show resolved
Hide resolved
85b3b9d to
dab2335
Compare
majetideepak
left a comment
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.
It is ideal if we can avoid checking in data files for testing.
We only need a few fields from the file for testing.
Can we write these required fields to a temporary file as part of the testing?
presto-native-execution/presto_cpp/main/tests/examples/cgroupV1memoryNotSet.limit_in_bytes
Outdated
Show resolved
Hide resolved
71c9fa9 to
89a50a8
Compare
89a50a8 to
163880b
Compare
presto-native-execution/presto_cpp/main/tests/LinuxMemoryCheckerTest.cpp
Outdated
Show resolved
Hide resolved
presto-native-execution/presto_cpp/main/tests/LinuxMemoryCheckerTest.cpp
Outdated
Show resolved
Hide resolved
163880b to
29dc3b5
Compare
9a7cbf7 to
80ca9b5
Compare
|
@czentgr @majetideepak @pramodsatya |
4d982e6 to
79d104c
Compare
79d104c to
f3920ad
Compare
|
@minhancao CI is failing. Please verify before merging. |
f3920ad to
7c8e159
Compare
fa8f2dc
4df91c3 to
e4c2d31
Compare
|
@czentgr @majetideepak @jaystarshot |
e4c2d31 to
6271440
Compare
…mit-gb is reasonably set Add additional checks and warnings to ensure system-memory-gb <= system-mem-limit-gb < available machine memory of deployment. For cgroup v1: Set available machine memory of deployment to be the smaller number between /proc/meminfo and memory.limit_in_bytes. For cgroup v2: Set available machine memory of deployment to be the smaller number between /proc/meminfo and memory.max. If memory.max contains "max" string, then look at /proc/meminfo for the MemTotal, otherwise use the value in memory.max.
6271440 to
8ea4c76
Compare
|
@jaystarshot can you please approve this PR again? CI is now passing. |
Description
Add additional checks and warnings to ensure
system-memory-gb <= system-mem-limit-gb < available machine memory of deployment.
For cgroup v1:
Set available machine memory of deployment to be the smaller number
between /proc/meminfo and memory.limit_in_bytes.
For cgroup v2:
Set available machine memory of deployment to be the smaller number
between /proc/meminfo and memory.max.
If memory.max contains "max" string, then look at
/proc/meminfo for the MemTotal, otherwise use the
value in memory.max.
Motivation and Context
Impact
Test Plan
Contributor checklist
Release Notes
Please follow release notes guidelines and fill in the release notes below.