Skip to main content

A library/program that gives information about oom scores.

Project description

oom-notifier

Maintenance made-with-python GitHub license GitHub forks GitHub stars GitHub watchers GitHub followers GitHub contributors GitHub issues GitHub issues-closed GitHub pull-requests GitHub pull-requests closed PRs Welcome HitCount PyPI download week PyPI version shields.io PyPI pyversions PyPI implementation

product-library product-notfication product-wall

oom-notifier is a program and a library used to track oom scores for Linux.

Description

oom-notifier gets the oom score of each process by getting the /proc/<PID>/oom_score value. As a program, it tracks the oom scores of each process (by default) every 5 seconds and the threshold is set to 1000. If you want to change these values, refer to the configuration header below.

But what is an oom_score?

An oom_score is basically a score assigned to a process by the Linux kernel which is the likelihood that a process will be terminated in case a computer is out of memory. If a process oom score is high, it means it will be one of the first processes to be killed in case of low memory resources. If a process oom score is low, it means it will be the least likely to be killed in case of low memory resources.

Getting Started

Dependencies

  • Any Linux-based distribution
  • Python>=3.6
  • pip

Installing

  1. Install oom-notifier using pip.
$ pip install oom-notifier

Usage

As a library:

import oom_notifier

oom = oom_notifier.OOM()

# to get all pids and oom scores of each process, use this:
all_oom_scores = oom.info  # this is a dictionary

# to get the maximum oom score of all processes, use this:
max_oom_score = oom.max  # this is also a dictionary

As a program:

$ oom-notifier  # launches oom-notifier in the background

Configuration

In ~/.config/oom-notifier/config.ini:

[Main]
; this sets the threshold to where oom-notifier will trigger a notification if it passes this value
threshold = <NUMBER_HERE>
; this sets the time where oom-notifier will wait to refresh the oom-scores
wait_time = <NUMBER_HERE>

Help

oom-notifier only displays in the command line

This usually means that the dbus can't contact the notification service (as, internally, dbus-python raises an exception incase of failure). AFAIK, most of the time the reason this happens is because the notification service isn't installed.

In XFCE:

Check if xfce4-notifyd is running in the background.

$ ps cax | grep xfce4-notifyd

if there's no output, it means xfce4-notifyd isn't running and means it isn't started or isn't installed. If it isn't installed, you can install using your distribution's package manager.

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oom-notifier-1.1.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

oom_notifier-1.1.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file oom-notifier-1.1.0.tar.gz.

File metadata

  • Download URL: oom-notifier-1.1.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for oom-notifier-1.1.0.tar.gz
Algorithm Hash digest
SHA256 97f048fe051cced052af24c1f8f17095acb3afe48e155d3016fa93ccdcb9e0da
MD5 32e36d7fd0a1bc8099ea3c66b6837dbb
BLAKE2b-256 55f82e58df6ac993f11d87e57fb134831e8a72446830d20e05046f206990cb1b

See more details on using hashes here.

File details

Details for the file oom_notifier-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: oom_notifier-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for oom_notifier-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 758594fe6338ca06544561bba64b2e2efbb979d620ce46f6f7a16413285b769a
MD5 5600a8ad0c6c107640505f410c1fce74
BLAKE2b-256 85433f0efe858ef159823232d6a919d2c86929530eeea40982282ba0f23a7146

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page