-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
[native] Add LinuxMemoryChecker check/warning to ensure system-mem-limit-gb is reasonably set #24149
Conversation
4478ae1
to
15f55bb
Compare
15f55bb
to
7646600
Compare
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
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
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 |
822c4e1
to
4d982e6
Compare
@jaystarshot Hi Jay! Can you help review this PR when you get the chance please? |
presto-native-execution/presto_cpp/main/tests/LinuxMemoryCheckerTest.cpp
Show resolved
Hide resolved
presto-native-execution/presto_cpp/main/PeriodicMemoryChecker.h
Outdated
Show resolved
Hide resolved
Please add some release notes since default values have changed |
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.