Initial import (#1750983).
This commit is contained in:
parent
cc01a52b01
commit
102f27a778
|
@ -0,0 +1 @@
|
|||
/oomd-0.2.0.tar.gz
|
|
@ -0,0 +1,67 @@
|
|||
Name: oomd
|
||||
Summary: Userspace Out-Of-Memory (OOM) killer
|
||||
Version: 0.2.0
|
||||
Release: 3%{dist}
|
||||
License: GPLv2
|
||||
URL: https://github.com/facebookincubator/oomd/
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: meson >= 0.45
|
||||
BuildRequires: pkgconfig(jsoncpp)
|
||||
BuildRequires: pkgconfig(libsystemd)
|
||||
BuildRequires: pkgconfig(gtest_main)
|
||||
BuildRequires: pkgconfig(gmock)
|
||||
|
||||
%systemd_requires
|
||||
|
||||
%description
|
||||
Out of memory killing has historically happened inside kernel space. On a
|
||||
memory overcommitted linux system, malloc(2) and friends usually never fail.
|
||||
However, if an application dereferences the returned pointer and the system has
|
||||
run out of physical memory, the linux kernel is forced take extreme measures,
|
||||
up to and including killing processes. This is sometimes a slow and painful
|
||||
process because the kernel can spend an unbounded amount of time swapping in
|
||||
and out pages and evicting the page cache. Furthermore, configuring policy is
|
||||
not very flexible while being somewhat complicated.
|
||||
|
||||
oomd aims to solve this problem in userspace. oomd leverages PSI and cgroupv2
|
||||
to monitor a system holistically. oomd then takes corrective action in
|
||||
userspace before an OOM occurs in kernel space. Corrective action is configured
|
||||
via a flexible plugin system, in which custom code can be written. By default,
|
||||
this involves killing offending processes. This enables an unparalleled level
|
||||
of flexibility where each workload can have custom protection rules.
|
||||
Furthermore, time spent livedlocked in kernelspace is minimized.
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%check
|
||||
%meson_test
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md CONTRIBUTING.md CODE_OF_CONDUCT.md docs/
|
||||
%{_bindir}/oomd
|
||||
%{_unitdir}/oomd.service
|
||||
%config(noreplace) %{_sysconfdir}/oomd/
|
||||
|
||||
%post
|
||||
%systemd_post oomd.service
|
||||
|
||||
%preun
|
||||
%systemd_preun oomd.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart oomd.service
|
||||
|
||||
%changelog
|
||||
* Tue Sep 10 2019 Filipe Brandenburger <filbranden@gmail.com> - 0.2.0-3
|
||||
- Initial release of oomd RPM package
|
Loading…
Reference in New Issue