Skip to content
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

How do I set oomd to kill process instead of cgroup? #125

Closed
minecraft2048 opened this issue Apr 12, 2020 · 2 comments
Closed

How do I set oomd to kill process instead of cgroup? #125

minecraft2048 opened this issue Apr 12, 2020 · 2 comments

Comments

@minecraft2048
Copy link

I'm running oomd on ubuntu 19.10 with default configuration, except that I changed "user pressure above 60 for 30s", to

                        "name": "pressure_above",
                        "args": {
                            "cgroup": "user.slice",
                            "resource": "memory",
                            "threshold": "5",
                            "duration": "5"
                        }

so that I can trigger it more easily using stress, then when I trigger it, this happens:

Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/plugins/PressureAbove.cpp:132] 10s pressure 7.08 is over the threshold of 5 for 5 seconds , total usage is 7345MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/engine/Ruleset.cpp:97] DetectorGroup=user pressure above 60 for 30s has fired for Ruleset=user session protection. Running action chain.
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/engine/Ruleset.cpp:112] Running Action=kill_by_memory_size_or_growth
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:128] Dumping OomdContext:
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:150] name=user.slice/user-1000.slice/session-12.scope
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:151]   pressure=7.09:2.07:0.46-20.19:5.64:1.4
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:156]   mem=7295MB mem_avg=7123MB mem_low=0MB mem_min=0MB mem_high=8796093022207MB mem_high_tmp=0MB mem_max=8796093022207MB mem_prot=0MB anon=6804MB swap_usage=0MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:166]   io_cost_cumulative=0 io_cost_rate=0
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:150] name=system.slice/sddm.service
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:151]   pressure=1.67:0.53:0.18-6.09:1.87:0.67
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:156]   mem=25MB mem_avg=29MB mem_low=0MB mem_min=0MB mem_high=8796093022207MB mem_high_tmp=0MB mem_max=8796093022207MB mem_prot=0MB anon=6MB swap_usage=0MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:166]   io_cost_cumulative=0 io_cost_rate=0
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:150] name=system.slice/systemd-udevd.service
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:151]   pressure=0.39:0.11:0.02-1.88:0.57:0.19
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:156]   mem=12MB mem_avg=12MB mem_low=0MB mem_min=0MB mem_high=8796093022207MB mem_high_tmp=0MB mem_max=8796093022207MB mem_prot=0MB anon=0MB swap_usage=0MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:166]   io_cost_cumulative=0 io_cost_rate=0
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:150] name=system.slice/systemd-journald.service
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:151]   pressure=0.29:0.08:0.01-1.53:0.46:0.16
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:156]   mem=8MB mem_avg=8MB mem_low=0MB mem_min=0MB mem_high=8796093022207MB mem_high_tmp=0MB mem_max=8796093022207MB mem_prot=0MB anon=0MB swap_usage=0MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:166]   io_cost_cumulative=0 io_cost_rate=0
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:150] name=user.slice/user-1000.slice/user@1000.service/dbus.service
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:151]   pressure=0.39:0.11:0.02-1.54:0.45:0.15
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:156]   mem=7MB mem_avg=8MB mem_low=0MB mem_min=0MB mem_high=8796093022207MB mem_high_tmp=0MB mem_max=8796093022207MB mem_prot=0MB anon=0MB swap_usage=0MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:166]   io_cost_cumulative=0 io_cost_rate=0
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:150] name=system.slice/oomd.service
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:151]   pressure=1.23:0.33:0.07-3.17:0.82:0.18
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:156]   mem=5MB mem_avg=5MB mem_low=64MB mem_min=0MB mem_high=8796093022207MB mem_high_tmp=0MB mem_max=8796093022207MB mem_prot=0MB anon=0MB swap_usage=0MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:166]   io_cost_cumulative=0 io_cost_rate=0
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:150] name=system.slice/accounts-daemon.service
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:151]   pressure=0.64:0.17:0.04-1.15:0.33:0.1
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:156]   mem=2MB mem_avg=2MB mem_low=0MB mem_min=0MB mem_high=8796093022207MB mem_high_tmp=0MB mem_max=8796093022207MB mem_prot=0MB anon=0MB swap_usage=0MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:166]   io_cost_cumulative=0 io_cost_rate=0
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:150] name=system.slice/rsyslog.service
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:151]   pressure=0.29:0.08:0.01-1.38:0.38:0.08
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:156]   mem=1MB mem_avg=1MB mem_low=0MB mem_min=0MB mem_high=8796093022207MB mem_high_tmp=0MB mem_max=8796093022207MB mem_prot=0MB anon=0MB swap_usage=0MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/OomdContext.cpp:166]   io_cost_cumulative=0 io_cost_rate=0
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/plugins/KillMemoryGrowth-inl.h:163] Picked "user.slice/user-1000.slice/session-12.scope" (7295MB) based on size > 50% of total 7425MB
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/plugins/BaseKillPlugin.cpp:101] Trying to kill /sys/fs/cgroup/user.slice/user-1000.slice/session-12.scope
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/plugins/BaseKillPlugin.cpp:206] Set xattr trusted.oomd_kill_uuid=d7382f70a83ec2e3d923d63cd1a6b73e on /sys/fs/cgroup/user.slice/user-1000.slice/session-12.scope
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/plugins/BaseKillPlugin.cpp:184] Set xattr trusted.oomd_ooms=1 on /sys/fs/cgroup/user.slice/user-1000.slice/session-12.scope
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/plugins/BaseKillPlugin.cpp:147] Killed 20: 13468(sddm-helper) 13472(kwalletd5) 13473(startkde) 13521(ssh-agent) 13551(start_kdeinit) 13553(kdeinit5) 13554(klauncher) 13569(kded5) 13578(kaccess) 13601(kwrapper5) 13605(ksmserver) 13614(kwin_x11) 13619(baloo_file) 13621(krunner) 13624(plasmashell) 13630(polkit-k
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/plugins/BaseKillPlugin.cpp:147] Killed 20: 13666(okular) 13690(okular) 13693(firefox) 13782(at-spi-bus-laun) 13784(agent) 13790(dbus-daemon) 13798(org_kde_powerde) 13908(desktop.so) 13914(file.so) 13949(Web Content) 14006(Web Content) 14026(WebExtensions) 14048(file.so) 14105(plasma-browser-) 14112(Web Conten
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/plugins/BaseKillPlugin.cpp:147] Killed 8: 14395(Web Content) 14432(Web Content) 14551(Web Content) 14665(konsole) 14680(fish) 14737(stress) 14738(stress) 14766(journalctl)
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/plugins/BaseKillPlugin.cpp:197] Set xattr trusted.oomd_kill=48 on /sys/fs/cgroup/user.slice/user-1000.slice/session-12.scope
Apr 12 20:40:03 seireitei oomd[14628]: [../src/oomd/Log.cpp:113] 7.09 2.07 0.46 user.slice/user-1000.slice/session-12.scope 7650164736 ruleset:[user session protection] detectorgroup:[user pressure above 60 for 30s] killer:kill_by_memory_size_or_growth v2
Apr 12 20:40:33 seireitei oomd[14628]: [../src/oomd/engine/Ruleset.cpp:134] Action=kill_by_memory_size_or_growth returned STOP. Terminating action chain.

It kills everything in user cgroup, killing my desktop. Is there a way to set it up so it only kills the process with highest memory usage?

@hakavlad
Copy link

hakavlad commented Apr 12, 2020

@minecraft2048 oomd kills only whole cgroup. It cannot kill separate process. If you looking for low memory handler for desktop computer that can work wih PSI look at https://github.com/hakavlad/nohang

@minecraft2048
Copy link
Author

Looks like thats the thing that I need

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants