Comments (9)
Is this reproducible? Also, is there a delay in time between those two log blocks?
If no on the first and yes on the second question, it might be a race related to #25 . I'll put up a fix for that first and see if it helps.
from oomd.
No, there's no delay. Yes it happens always if action kill_by_memory_size_or_growth is triggered. No it's not a race that cgroup did never exist.
from oomd.
Ah that makes sense. I think I know the issue. Putting up a fix shortly.
We've got someone addressing the root issue -- oomd plugins should be receiving all their information from core oomd. Right now a lot of plugins independently pull cgroup information from the filesystem. This is bad b/c we'd rather not have every plugin reimplement error checking. It also makes tests harder to write.
from oomd.
Please reopen if 248ff9f didn't fix the issue.
from oomd.
No idea how to reopen - but no it does not fix the problem.
Output is now:
[2019-06-23 10:35:37] [../util/Fs.cpp:162] Unable to open /sys/fs/cgroup/systemultralowprio.slice/clamav-freshclam.service/memory.current
[2019-06-23 10:35:37] [../Oomd.cpp:527] Caught exception: /sys/fs/cgroup/systemultralowprio.slice/clamav-freshclam.service: missing file
crash / exit of oomd
from oomd.
@danobi please reopen
from oomd.
Sorry about the delay. Can you post your oomd config? It might be another plugin that's pulling cgroup fs data independently.
from oomd.
sure:
{
"rulesets": [
{
"name": "mem protection",
"detectors": [
[
"mem pressure above 10 for 10s",
{
"name": "dump_cgroup_overview",
"args": {
"cgroup": "user.slice/*.service,system.slice/*.service,systemlowprio.slice/*.service,systemultralowprio.slice/*.service,user.slice/*.slice,system.slice/*.slice,systemlowprio.slice/*.slice,systemultralowprio.slice/*.slice",
"always": "false"
}
},
{
"name": "pressure_above",
"args": {
"cgroup": "user.slice/*.service,system.slice/*.service,systemlowprio.slice/*.service,systemultralowprio.slice/*.service,user.slice/*.slice,system.slice/*.slice,systemlowprio.slice/*.slice,systemultralowprio.slice/*.slice",
"resource": "memory",
"threshold": "10",
"duration": "10"
}
}
]
],
"actions": [
{
"name": "kill_by_memory_size_or_growth",
"args": {
"cgroup": "user.slice/*.service,system.slice/*.service,systemlowprio.slice/*.service,systemultralowprio.slice/*.service,user.slice/*.slice,system.slice/*.slice,systemlowprio.slice/*.slice,systemultralowprio.slice/*.slice",
"post_action_delay": 30,
"size_threshold": 95
}
}
]
}
],
"version": "1.0.0"
}
from oomd.
Thanks.
#73 should fix it. It might be a day or two before it's merged -- the usual code review delays. If you get a chance, could you try out the patch?
from oomd.
Related Issues (20)
- doesn't kill cgroup, unable to set xattr trusted.oomd_ooms=1 HOT 5
- How do I set oomd to kill process instead of cgroup? HOT 2
- /sys/fs/cgroup is not a valid cgroup2 filesystem HOT 4
- man page should be located in man8, not in man1 HOT 1
- Possibility to abstract the stat collector HOT 1
- error: call to β__open_missing_modeβ declared with attribute error: open with O_CREAT or O_TMPFILE... HOT 1
- prekill_hooks to run a shell script
- KillMemoryGrowth-inl.h: misleading ologKillTarget message for SIZE_NO_THRESHOLD
- KillMemoryGrowth<Base>::get_ranking_fn() should be SEGV safe
- Inefficient TryToKillSomething(): ranking gets made twice for a single run
- memleaks ??? HOT 2
- Prevent specific app to kill - doubt HOT 1
- Oomd
- Cgroup1
- No timestamps in oomd output HOT 1
- Meson build fails due to dumpKillInfo HOT 3
- what does the Senpai plugin used for? HOT 1
- Verifying if Senpai Config is Correct
- Uan HOT 4
- Show: lib to parse proc/cgroup data as json HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oomd.