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.
👍18🔥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
🔥15👍9