Useful Tools | Linux | GitOps | DevOps
5.68K subscribers
135 photos
1 video
7 files
654 links
Полезные бесплатные opensource инструменты на все случаи жизни, а иногда и советы.

Понравился проект из поста - поддержи автора звездой!

Автор: @dmitry_malinin
Web: https://gitgate.d3.ru

Сотрудничество: @maxgrue
Обсуждение: @gittalk
Download Telegram
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
👍17🔥9
WrapGuard - позволяет любому приложению прозрачно маршрутизировать ВЕСЬ сетевой трафик через WireGuard VPN, не требуя привилегий контейнера или модулей ядра.

Возможности:
- работает в userspace и не требуется создание интерфейса TUN, не требуется возможность NET_ADMIN
- прозрачный перехват который использует LD_PRELOAD для перехвата всех сетевых вызовов.
- двусторонняя поддержка, работают как входящие, так и исходящие соединения.
- использует стандартные файлы конфигурации WireGuard.

https://github.com/puzed/wrapguard

опубликовано в @gitgate

#wpv #wg #wireguard #userspace #proxy
🔥14👍9