|
|
e905d3f |
%bcond_without tests
|
|
|
e905d3f |
|
|
|
102f27a |
Name: oomd
|
|
|
102f27a |
Summary: Userspace Out-Of-Memory (OOM) killer
|
|
|
52984c3 |
Version: 0.5.0
|
|
|
737e7f9 |
Release: 11%{dist}
|
|
|
737e7f9 |
License: GPL-2.0-only
|
|
|
102f27a |
URL: https://github.com/facebookincubator/oomd/
|
|
|
102f27a |
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
|
|
52984c3 |
# Check return value for mkstemp()
|
|
|
52984c3 |
Patch0: %{url}/commit/076af42b270388f38055fdf60dccbb3001de723a.patch
|
|
|
52984c3 |
# Fix ODR violation in tests
|
|
|
52984c3 |
Patch1: %{url}/commit/3989e169fc0da9c29da8dd692427d4f4c1ace413.patch
|
|
|
15670b7 |
# Resolved a compiler error due to lacking include
|
|
|
15670b7 |
Patch2: %{url}/commit/83a6742f08349fbc93f459228dcc3d1f56eac411.patch
|
|
|
6437d3d |
# Disable a test that seems to fail on kernel 6.6.9-100.fc38
|
|
|
6437d3d |
Patch3: oomd-disable-datalifecycle-children-test.patch
|
|
|
102f27a |
|
|
|
60fa9f4 |
ExcludeArch: i686 armv7hl
|
|
|
60fa9f4 |
|
|
|
102f27a |
BuildRequires: gcc-c++
|
|
|
102f27a |
BuildRequires: meson >= 0.45
|
|
|
102f27a |
BuildRequires: pkgconfig(jsoncpp)
|
|
|
102f27a |
BuildRequires: pkgconfig(libsystemd)
|
|
|
e905d3f |
%if %{with tests}
|
|
|
e905d3f |
BuildRequires: gmock-devel
|
|
|
e905d3f |
BuildRequires: gtest-devel
|
|
|
e905d3f |
%endif
|
|
|
babec27 |
BuildRequires: systemd-rpm-macros
|
|
|
babec27 |
%{?systemd_requires}
|
|
|
102f27a |
|
|
|
102f27a |
%description
|
|
|
102f27a |
Out of memory killing has historically happened inside kernel space. On a
|
|
|
102f27a |
memory overcommitted linux system, malloc(2) and friends usually never fail.
|
|
|
102f27a |
However, if an application dereferences the returned pointer and the system has
|
|
|
102f27a |
run out of physical memory, the linux kernel is forced take extreme measures,
|
|
|
102f27a |
up to and including killing processes. This is sometimes a slow and painful
|
|
|
102f27a |
process because the kernel can spend an unbounded amount of time swapping in
|
|
|
102f27a |
and out pages and evicting the page cache. Furthermore, configuring policy is
|
|
|
102f27a |
not very flexible while being somewhat complicated.
|
|
|
102f27a |
|
|
|
102f27a |
oomd aims to solve this problem in userspace. oomd leverages PSI and cgroupv2
|
|
|
102f27a |
to monitor a system holistically. oomd then takes corrective action in
|
|
|
102f27a |
userspace before an OOM occurs in kernel space. Corrective action is configured
|
|
|
102f27a |
via a flexible plugin system, in which custom code can be written. By default,
|
|
|
102f27a |
this involves killing offending processes. This enables an unparalleled level
|
|
|
102f27a |
of flexibility where each workload can have custom protection rules.
|
|
|
102f27a |
Furthermore, time spent livedlocked in kernelspace is minimized.
|
|
|
102f27a |
|
|
|
102f27a |
%prep
|
|
|
3844a40 |
%autosetup -p1
|
|
|
102f27a |
|
|
|
102f27a |
%build
|
|
|
102f27a |
%meson
|
|
|
102f27a |
%meson_build
|
|
|
102f27a |
|
|
|
e905d3f |
%if %{with tests}
|
|
|
102f27a |
%check
|
|
|
737e7f9 |
%meson_test -v
|
|
|
e905d3f |
%endif
|
|
|
102f27a |
|
|
|
102f27a |
%install
|
|
|
102f27a |
%meson_install
|
|
|
102f27a |
|
|
|
102f27a |
%files
|
|
|
102f27a |
%license LICENSE
|
|
|
102f27a |
%doc README.md CONTRIBUTING.md CODE_OF_CONDUCT.md docs/
|
|
|
102f27a |
%{_bindir}/oomd
|
|
|
102f27a |
%{_unitdir}/oomd.service
|
|
|
611dfcb |
%{_mandir}/man1/oomd.*
|
|
|
102f27a |
%config(noreplace) %{_sysconfdir}/oomd/
|
|
|
102f27a |
|
|
|
102f27a |
%post
|
|
|
102f27a |
%systemd_post oomd.service
|
|
|
102f27a |
|
|
|
102f27a |
%preun
|
|
|
102f27a |
%systemd_preun oomd.service
|
|
|
102f27a |
|
|
|
102f27a |
%postun
|
|
|
102f27a |
%systemd_postun_with_restart oomd.service
|
|
|
102f27a |
|
|
|
102f27a |
%changelog
|
|
|
737e7f9 |
* Tue Jan 30 2024 Michel Lind <salimma@fedoraproject.org> - 0.5.0-11
|
|
|
737e7f9 |
- Enable verbose test output
|
|
|
737e7f9 |
- Use SPDX license identifier
|
|
|
6437d3d |
- Disable DataLifeCycle children comparison while we investigate failure
|
|
|
6437d3d |
with newer kernels
|
|
|
737e7f9 |
|
|
|
b5e0db9 |
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-10
|
|
|
b5e0db9 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
|
b5e0db9 |
|
|
|
845a155 |
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-9
|
|
|
845a155 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
|
845a155 |
|
|
|
b2765b1 |
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-8
|
|
|
b2765b1 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
|
b2765b1 |
|
|
|
a45bc75 |
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-7
|
|
|
a45bc75 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
|
a45bc75 |
|
|
|
ef58dce |
* Tue Aug 09 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 0.5.0-6
|
|
|
15670b7 |
- Backport upstream commit to add a missing include
|
|
|
15670b7 |
Fixes: RHBZ#2113559
|
|
|
15670b7 |
|
|
|
323301b |
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-5
|
|
|
323301b |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
|
323301b |
|
|
|
e69388c |
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-4
|
|
|
e69388c |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
|
e69388c |
|
|
|
999fd6a |
* Wed Nov 03 2021 Björn Esser <besser82@fedoraproject.org> - 0.5.0-3
|
|
|
999fd6a |
- Rebuild (jsoncpp)
|
|
|
999fd6a |
|
|
|
f650110 |
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
|
|
|
f650110 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
|
f650110 |
|
|
|
52984c3 |
* Wed Jun 23 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.5.0-1
|
|
|
52984c3 |
- Update to 0.5.0
|
|
|
52984c3 |
|
|
|
68e4b1b |
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.4.0-6
|
|
|
68e4b1b |
- Rebuilt for updated systemd-rpm-macros
|
|
|
68e4b1b |
See https://pagure.io/fesco/issue/2583.
|
|
|
68e4b1b |
|
|
|
e905d3f |
* Wed Feb 17 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.4.0-5
|
|
|
e905d3f |
- Build for EPEL 8
|
|
|
e905d3f |
- Make tests conditional
|
|
|
e905d3f |
- Replace gcc-11 patch with upstream commits
|
|
|
e905d3f |
|
|
|
77ece2b |
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-4
|
|
|
77ece2b |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
77ece2b |
|
|
|
3844a40 |
* Fri Oct 30 2020 Jeff Law <law@redhat.com> - 0.4.0-3
|
|
|
3844a40 |
- Fix missing #includes for gcc-11
|
|
|
3844a40 |
|
|
|
889388c |
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-2
|
|
|
889388c |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
889388c |
|
|
|
430e65e |
* Thu Jun 4 2020 Filipe Brandenburger <filbranden@gmail.com> - 0.4.0-1
|
|
|
430e65e |
- Upgrade to v0.4.0
|
|
|
430e65e |
|
|
|
56f718f |
* Sat May 30 2020 Björn Esser <besser82@fedoraproject.org> - 0.3.2-2
|
|
|
56f718f |
- Rebuild (jsoncpp)
|
|
|
56f718f |
|
|
|
12d9cb2 |
* Wed Feb 19 2020 Filipe Brandenburger <filbranden@gmail.com> - 0.3.2-1
|
|
|
12d9cb2 |
- Update to v0.3.2
|
|
|
12d9cb2 |
|
|
|
611dfcb |
* Tue Feb 18 2020 Filipe Brandenburger <filbranden@gmail.com> - 0.3.1-1
|
|
|
611dfcb |
- Update to v0.3.1
|
|
|
611dfcb |
|
|
|
78e14d7 |
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-6
|
|
|
78e14d7 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
78e14d7 |
|
|
|
dba4dcd |
* Thu Nov 14 2019 Björn Esser <besser82@fedoraproject.org> - 0.2.0-5
|
|
|
dba4dcd |
- Rebuild (jsoncpp)
|
|
|
dba4dcd |
|
|
|
60fa9f4 |
* Thu Sep 12 2019 Filipe Brandenburger <filbranden@gmail.com> - 0.2.0-4
|
|
|
60fa9f4 |
- First official build for Fedora
|
|
|
60fa9f4 |
- Exclude 32-bit architectures, which fail to build.
|
|
|
60fa9f4 |
|
|
|
102f27a |
* Tue Sep 10 2019 Filipe Brandenburger <filbranden@gmail.com> - 0.2.0-3
|
|
|
102f27a |
- Initial release of oomd RPM package
|