Skip to main content

# What is this?

If you have something you are working on that may accidentally consume all your RAM (read: are a data scientist), you probably want your process OOM reaped before the other ones. What you absolutely do not want is something like process that may fail in a bad state getting reaped instead.

If you install this package with,

`bash pip install oom_reap_me_first `

then do,

`python import oom_reap_me_first.auto_enable # noqa # pylint: disable=unused-import `

at the top of your, say, Jupyter notebook, the importing processes oom_score_adj will be set to 1000, which means it will (probably?) get reaped first.

This works particularly well if you [disable swap](https://graspingtech.com/disable-swap-ubuntu/), so you don’t end up in the dreaded situation of your REPL taking all the RAM then hitting disk so hard that you can’t even i-i it.

# What else should I know?

The oom_score_adj that controls what gets preferentially gets killed can be configured automatically for systemd services. If you have something that you really don’t want to get killed, you should put,

` oom score -1000 `

in the service unit definition. Alternatively, if you are not using python you can use the choom (change-OOM) command

`bash choom -p PID -n number `

See the [man page](https://man7.org/linux/man-pages/man1/choom.1.html) here.

However, I am lazy and my solution suits me better.

Release files for oom-reap-me-first 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oom-reap-me-first 0.0.1
File Size Uploaded
oom_reap_me_first-0.0.1.tar.gz 3.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for oom-reap-me-first 0.0.1
File Interpreter ABI Platform
oom_reap_me_first-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 6.5 kB

Release files / oom_reap_me_first-0.0.1.tar.gz

Download URL oom_reap_me_first-0.0.1.tar.gz
Size 3.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c58fae38208315ae49711ab5e3ac69d4948b516aaabd6324b35ffdea6728afd1
BLAKE2b-256 checksum
How to use checksums
b66f56eb1af73272f37e1fdabafdc19e639a8199fa64f26c4bc05c30a3078d51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.13

Release files / oom_reap_me_first-0.0.1-py3-none-any.whl

Download URL oom_reap_me_first-0.0.1-py3-none-any.whl
Size 3.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee60bd43ee181973f02cafd5db62e0e48ec6a6d1f6ddd80826fc99d068ac78a0
BLAKE2b-256 checksum
How to use checksums
f3dd9a57c0bd34d9c46d3bf20e513a044a70d06a3b89743465a869c7ca54ab85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.13

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page