https://github.com/oditynet/oomkiller
Simpler oom killer of bad process
https://github.com/oditynet/oomkiller
Last synced: about 1 year ago
JSON representation
Simpler oom killer of bad process
- Host: GitHub
- URL: https://github.com/oditynet/oomkiller
- Owner: oditynet
- License: gpl-3.0
- Created: 2024-07-30T09:19:45.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-10T08:13:13.000Z (over 1 year ago)
- Last Synced: 2025-02-10T09:24:23.564Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 56.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# oomkiller
Simple oom killer of bad process :)
For analitics it is used cpu used (ver 0.2.1). (Nice for situation then oom_score = 0)
Scan mem every 100 ms and kill process on signal( -9 )
process have nice -15
```
g++ oomkiller.cpp -o oomkiller
sudo cp oomkiller /usr/bin
sudo cp oomkilld.service /usr/lib/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable oomkilld.service
sudo systemctl start oomkilld.service
```
Log for example:
```
12:25:08 odity@viva ~/eclipse-workspace/argv sudo systemctl status oomkilld.service
● oomkilld.service - Simple OOM Daemon
Loaded: loaded (/usr/lib/systemd/system/oomkilld.service; enabled; preset: disabled)
Active: active (running) since Tue 2024-07-30 12:24:56 MSK; 12s ago
Invocation: c0df0451b2b44ca39c190b49b58e3ca5
Docs: https://github.com/oditynet/oomkill
Main PID: 11575 (oomkiller)
Tasks: 1 (limit: 28622)
Memory: 1.8M (peak: 2M)
CPU: 43ms
CGroup: /system.slice/oomkilld.service
└─11575 /usr/bin/oomkiller
июл 30 12:24:56 viva systemd[1]: Started Simple OOM Daemon.
июл 30 12:25:05 viva oomkiller[11575]: Alarm: memory 595384Mb
июл 30 12:25:05 viva oomkiller[11575]: Potential: 320 -250 500 10840
июл 30 12:25:05 viva oomkiller[11575]: Potential: 2643 0 666 1263
июл 30 12:25:05 viva oomkiller[11575]: Potential: 2647 0 667 20723
июл 30 12:25:05 viva oomkiller[11575]: Potential: 3080 0 673 147885
июл 30 12:25:05 viva oomkiller[11575]: Potential: 11602 0 879 4703448
июл 30 12:25:05 viva oomkiller[11575]: Error read dir: Success
июл 30 12:25:05 viva oomkiller[11575]: Kill process (mem) of pid 11602
```
ADD param -p : calc procent used CPU from all processes
FYI
```
PROCESS_STAT=($(sed -E 's/\([^)]+\)/X/' "/proc/$PID/stat"))
PROCESS_UTIME=${PROCESS_STAT[13]}
PROCESS_STIME=${PROCESS_STAT[14]}
PROCESS_STARTTIME=${PROCESS_STAT[21]}
SYSTEM_UPTIME_SEC=$(tr . ' '