oomd
- средство устранения проблем с нехваткой памяти (OOM
) в пользовательском пространстве (userspace
) для систем Linux
.
OOM
из-за нехватки памяти исторически происходило внутри пространства ядра. В системе Linux
с перерасходом памяти malloc
и его альтернатив обычно никогда не терпят неудачу. Однако, если приложение разыменовывает возвращенный указатель, а система исчерпывает физическую память, ядро Linux
вынуждено принимать крайние меры, вплоть до уничтожения процессов. Иногда это медленный и болезненный процесс, поскольку ядро может тратить неограниченное количество времени на подкачку страниц и выгрузку страниц и вытеснение кэша страниц. Кроме того, настройка политики не очень гибкая, хотя и довольно сложная.oomd
стремится решить эту проблему в пользовательском пространстве. oomd
использует PSI
и cgroupv2
для комплексного мониторинга системы. Затем oomd
предпринимает корректирующие действия в пользовательском пространстве до того, как OOM
произойдет в пространстве ядра. Корректирующие действия настраиваются с помощью гибкой системы плагинов, в которой можно написать пользовательский код. По умолчанию это завершение нарушающих процессов. Это обеспечивает непревзойденный уровень гибкости, при котором каждая рабочая нагрузка может иметь пользовательские правила защиты. Кроме того, время, проведенное в режиме livelock
в пространстве ядра, сводится к минимуму. https://github.com/facebookincubator/oomd
опубликовано в @gitgate
#oom #kernel #userspace #cgroups
GitHub
GitHub - facebookincubator/oomd: A userspace out-of-memory killer
A userspace out-of-memory killer. Contribute to facebookincubator/oomd development by creating an account on GitHub.
👍17🔥9
WrapGuard
- позволяет любому приложению прозрачно маршрутизировать ВЕСЬ сетевой трафик через WireGuard VPN
, не требуя привилегий контейнера или модулей ядра.Возможности:
- работает в
userspace
и не требуется создание интерфейса TUN
, не требуется возможность NET_ADMIN
- прозрачный перехват который использует LD_PRELOAD
для перехвата всех сетевых вызовов.- двусторонняя поддержка, работают как входящие, так и исходящие соединения.
- использует стандартные файлы конфигурации WireGuard.
https://github.com/puzed/wrapguard
опубликовано в @gitgate
#wpv #wg #wireguard #userspace #proxy
GitHub
GitHub - puzed/wrapguard: Userspace WireGuard proxy for transparent network tunneling
Userspace WireGuard proxy for transparent network tunneling - puzed/wrapguard
🔥14👍9