Search

2.13. Using the Notification API

download PDF
The cgroups notification API allows user space applications to receive notifications about the changing status of a cgroup. Currently, the notification API only supports monitoring of the Out of Memory (OOM) control file: memory.oom_control. To create a notification handler, write a C program using the following instructions:
  1. Using the eventfd() function, create a file descriptor for event notifications. For more information, refer to the eventfd(2) man page.
  2. To monitor the memory.oom_control file, open it using the open() function. For more information, refer to the open(2) man page.
  3. Use the write() function to write the following arguments to the cgroup.event_control file of the cgroup whose memory.oom_control file you are monitoring:
    <event_file_descriptor> <OOM_control_file_descriptor>
    where:
    • event_file_descriptor is used to open the cgroup.event_control file,
    • and OOM_control_file_descriptor is used to open the respective memory.oom_control file.
    For more information on writing to a file, refer to the write(1) man page.
When the above program is started, it will be notified of any OOM situation in the cgroup it is monitoring. Note that OOM notifications only work in non-root cgroups.
For more information on the memory.oom_control tunable parameter, refer to Section 3.7, “memory”. For more information on configuring notifications for OOM control, refer to Example 3.3, “OOM Control and Notifications”.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.