LINUX.ORG.RU

Сообщения hakavlad

 

Выпуск oomd 0.3.0

Форум — Talks

oomd - обработчик нехватки памяти для датацентров, разрабатываемый Facebook.

Основные изменения в версии 0.3.0 - это улучшение производительности и несколько новых плагинов. Проверьте журнал фиксации для всего, что вошло начиная с выпуска 0.2.0. https://github.com/facebookincubator/oomd/releases/tag/v0.3.0

 ,

hakavlad
()

Настройка systemd юнитов, перекладывание дочерних процессов в отдельный юнит

Форум — Admin

Есть ли возможность помещать дочерние процессы юнита в отдельный юнит, для котрого можно прописать отдельные правила и значения ключей? Как это реализовать в юните? Напимаер: созавать /system.slice/foo.slice/foo.service, а дочерние от foo процессы помещать в /system.slice/foo.slice/foo-children.scope. Как такое делается?

Про помещение всех в /system.slice/foo.slice понятно - просто пописываем в юните главного процесса Slice=system.slice/foo.slice. Возможно ли сделать так, чтобы дочерние процессы этого сервиса автоматически перекладывались в отдельный scope, чтобы применять к ним отдельные настройки для более тонкого контроля? @intelfx

 

hakavlad
()

Включение earlyoom по умолчанию в Fedora 32 Workstation

Форум — Talks

После 6 месяцев обсуждения родили предложение: https://fedoraproject.org/wiki/Changes/EnableEarlyoom.

Здесь можете высказать ваши мысли и чувства по этому поводу.

История вопроса: https://pagure.io/fedora-workstation/issue/98.

 

hakavlad
()

Юзерспейсные обработчики могут мягко обрабатывать ситуации с нехваткой памяти

Форум — General

Летом был тред о неспособности ядра обрабатывать нехватку памяти: Линукс ядро не может мягко обрабатывать ситуации с нехваткой памяти

Пришло время продемонстрировать элегантное решение: https://youtu.be/G0FYDIKVPYI

Проблема: https://lkml.org/lkml/2019/8/4/15.

Решение: https://github.com/hakavlad/nohang.

Обсуждение в r/linux: https://www.reddit.com/r/linux/comments/ee6szk/killing_the_elephant_in_the_room_the_userspace/.

 ,

hakavlad
()

Опеннет лежит | Захват Айхор

Форум — Talks

По данным Айхор проблема с коммутаторами. Ведутся ремонтные работы.

Зеркала http://ru.opennet.ru и http://ua.opennet.ru работают, но без отправки комментариев.

https://twitter.com/opennetru

Действия незаконно назначенного директора на новом посту

Незаконно назначенный новый Генеральный директор Алексей Власов избил дежурного инженера компании ООО «ТК МАРОСНЕТ» Шоруха Чоршанбиева, который с утра пытался заступить на смену. Сейчас сотрудник в больнице, ему оказывается медицинская помощь. После этого он даст показания полиции. Сотрудник является инженером высочайшей квалификации, только он умеет делать на таком уровне ту работу, которую можно увидеть на фото из ЦОД.

Данный случай показывает истинную сущность и намерения людей, которые в своём телеграм канале @marosnet пишут о том, как они заботятся о судьбе компании и сотрудниках, а также пытаются скомпрометировать основателя проекта Ивана Лунгова. 12.12.2019

Актуальные новости от 16.12.2019

Пока те, кто затеял происходящий захват, делают громкие заявления и угрожают при помощи специально нанятой команды специалистов, мы все выходные работали над тем, чтобы исправлять последствия деструктивных действий Юрия Богданова. К сожалению, нам пока не удалось исправить все неполадки, поэтому сбои ещё продолжаются. Сейчас пытаемся стабилизировать ситуацию и рассчитываем на то, что уже в скором времени будет восстановлена работа сайта.

С самого начала мы были готовы решить все споры за столом переговоров, даже подписали соглашение с Юрием Богдановым, однако несмотря на заключённое соглашение, он решил сделать по-своему. Вместо выполнения всех достигнутых договорённостей и решения споров, вторая сторона принялась осуществлять действия, которые вы можете наблюдать с середины прошлой недели. 


Приносим свои искренние извинения за доставленные неудобства, делаем всё, что от нас зависит, чтобы восстановить стабильную работу всех сервисов в самое ближайшее время. Если вы не можете войти в биллинг, а время действия услуги заканчивается уже сегодня, напишите нам на почту support@ihor.ru, на некоторое время продлим её работу! 16.12.2019

https://www.ihor.ru/news

 , это россия

hakavlad
()

Перевести процесс в состояние D

Форум — Development

Нужно найти простой способ перевода процесса питона в состояние Disk sleep. Предпочтителен простейший способ из пяти строк.

Самый простой вариант потестить был бы поднять NFS сервер, прицепиться к шаре и прибить сервер. Любое обращение к маунтам приведёт к D.

любой процесс пытающияся получить доступ к примаунченой дире тоже попадает в state D.

@beastie Хотелось бы более простой способ. Шары у меня нет. Подойдет ли здесь sshfs вместо cifs шары?

 

hakavlad
()

Выпущен systemd 244

Форум — Talks

Изменения по сравнению с предыдущим выпуском:

    * Поддержка для групп наборе процессоров контроллер П2 была добавлена.
      Процессы могут быть ограничены конкретными процессорами, использующими новые
      AllowedCPUs= настройки, и определенный объем памяти NUMA-узлов с помощью нового
      AllowedMemoryNodes= настройка.

    * Сигнал, используемый в заданиях перезапуска (в отличие, например, от заданий остановки), может
      теперь можно настроить с помощью нового RestartKillSignal= settting. Этот
      позволяет блокам которые сигнализируют запросить прекращение для того чтобы снабдить
      другое поведение при остановке при подготовке к перезапуску.

    * "systemctl clean" теперь может использоваться также для сокета, монтажа и замены
      единицы.

    * systemd также считывает параметры конфигурации из переменной EFI
      SystemdOptions. Это может быть использовано для настройки поведения systemd, когда
      изменение командной строки ядра неудобно, но конфигурация
      на диске читается слишком поздно, например для параметров, связанных с
      настройка иерархии cgroup. 'bootctl systemd-efi-options' может использоваться для
      установите переменную EFI.

    * systemd теперь отключит printk ratelimits в начале загрузки. Это должно быть
      позвольте нам захватить больше журналов с ранней фазы загрузки, где обычно
      хранилище недоступно, и кольцевой буфер ядра используется для
      лесозаготовительный. Конфигурация в командной строке ядра имеет более высокий приоритет
      и переопределяет параметр systemd.

      systemd программы, которые регистрируются в /dev / kmsg напрямую используют внутренние
      ratelimits для предотвращения безудержного ведения журнала. (Обычно это используется только 
      во время ранней загрузки, так что на практике это изменение имеет очень мало
      эффект.)

    * Файлы единиц измерения теперь поддерживают каталоги dropin верхнего уровня формы
      <тип юнита.>Д/ (например, обслуживание.Д/), которые могут быть использованы для добавления конфигурации
      это влияет на все соответствующие файлы блоков.

    * systemctl получила поддержку 'остановка-работа-режим запуска, который поможет
      остановите указанный блок и любые блоки, которые могут вызвать его.

    * Дисплей состояния блока теперь включает блоки вызывая и вызванный мимо
      показываемое устройство.

    * Параметр RuntimeMaxSec= теперь поддерживается областями, а не только
      .сервисный модуль. Это особенно полезно для сессий PAM, которые
      создайте единицу области для входа пользователя. systemd не.runtime_max_sec=
      настройка может использоваться с модулем pam_systemd для ограничения длительности
      сеанса PAM, например для ограниченных по времени входов в систему.

    * Новый @ключ pkey системного вызова группы определяется теперь, чтобы сделать его легче
      белый список системных вызовов защиты памяти для контейнеров и служб
      которые должны использовать их.

    * systemd-udevd: удален тайм-аут 30s для убийства несвежих работников на
      выход. systemd-udevd теперь ждет завершения работы рабочих. Жестко
      тайм-аут выхода 30-х годов был слишком коротким для некоторых крупных установок, где
      инициализация драйвера может быть преждевременно прервана во время initrd
      обработка, если корневая файловая система была смонтирована и init был
      подготовка к переключению root. Если udevd запускается без systemd и работников
      висят в то время как udevd получает сигнал выхода, udevd теперь выйдет
      когда удев.event_timeout достигается для последнего зависшего работника. С
      systemd, тайм-аут выхода можно дополнительно настроить с помощью
      TimeoutStopSec= в systemd-udevd.обслуживание.

    * udev теперь предоставляет программу (fido_id), которая идентифицирует FIDO CTAP1
      ("U2F")/CTAP2 маркеры безопасности, основанные на использовании, объявленном в их
      отчет и дескриптор и выводит подходящие переменные среды.
      Это заменяет внешне поддерживаемые белые списки всех известных
      маркеры безопасности, которые использовались ранее.

    * Автоматически генерируемые правила autosuspend udev для белого списка
      устройства были импортированы из проекта Chromium OS. Это должно быть
      улучшите энергосбережение с помощью многих других устройств.

    * udev получил новую настройку "CONST{key}=value", которая позволяет сопоставлять
      против общесистемных констант без разветвления вспомогательного двоичного файла.
      В настоящее время поддерживаются ключи" arch "и" virt".

    * udev теперь открывает cdrom в неисключительном режиме при запросе их
      способности. Это должно устранить проблемы, когда другие программы пытаются
      использование CDROM не позволяет получить к нему доступ, но несет риск
      вмешательство в запись программ на диск, если они не были открыты
      устройство в эксклюзивном режиме, как и должно быть.

    * systemd-networkd не создает маршрут по умолчанию для IPv4 link local
      больше не обращаюсь. Создание маршрута было неожиданным и было
      нарушение маршрутизации в различных случаях, но люди, которые полагаются на это
      созданный неявно нужно будет настроить. Такой маршрут может быть запрошен
      с DefaultRouteOnDevice=да.

      Аналогично, systemd-networkd не будет назначать локальный IPv6-адрес
      если локальная маршрутизация IPv6 не включена.

    * Буферы приема и передачи теперь могут быть настроены на соединениях с
      новые параметры RxBufferSize= и TxBufferSize=.

    * systemd-networkd теперь может объявлять дополнительные маршруты IPv6. Новый
      [IPv6RoutePrefix] раздел с параметрами Route= и LifetimeSec= является
      теперь поддерживать.

    * systemd-networkd теперь может настроить маршруты "следующего прыжка" с помощью
      [NextHop] раздел и шлюз= и Id= настройки.

    * systemd-networkd теперь будет сохранять конфигурацию DHCP при перезапуске по умолчанию
      (но это может быть переопределено с помощью параметра KeepConfiguration=).
      Значение по умолчанию для параметра SendRelease= было изменено на true.

    * Клиент DHCPv4 теперь использует опцию OPTION_INFORMATION_REFRESH_TIME
      получено с сервера.

      Клиент будет использовать полученный список серверов SIP, если UseSIP=yes is
      набор.

      Клиент может быть настроен для запроса определенных параметров от
      сервер использует новый параметр RequestOptions=.

      Клиент может быть настроен для отправки произвольных параметров на сервер
      использование нового параметра SendOption=.

      Для настройки "IP-адреса" был добавлен новый параметр IPServiceType= 
      тип услуги " значение, используемое клиентом.

    * Клиент DHCPv6 получил новый параметр PrefixDelegationHint= для
      запрос префиксных подсказок в запросе DHCPv6.

    * Сервер DHCPv4 может быть настроен для отправки произвольных параметров с помощью
      новая настройка SendOption=.

    * Сервер DHCPv4 теперь может быть настроен на выдачу списка серверов SIP с помощью
      новые настройки EmitSIP= и SIP=.

    * systemd-networkd и networkctl теперь могут продлевать аренду DHCP по требованию.
      networkctl имеет новый глагол "networkctl обновить".

    * systemd-networkd теперь может перенастроить ссылки по требованию. networkctl
      получил два новых глагола: "перезагрузить" перезагрузит конфигурацию, и
      "реконфигурировать устройство..." будет реконфигурировать одно или несколько устройств.

    * .сетевые файлы теперь могут совпадать по SSID и BSSID беспроводной сети,
      т. е. имя точки доступа и аппаратный адрес с использованием нового SSID=
      и BSSID= параметры. networkctl отобразит текущий SSID и
      МАС-адрес беспроводного соединения.

      .сетевые файлы также могут совпадать по типу беспроводной сети с помощью
      новый параметр WLANInterfaceType=.

    * systemd-networkd теперь включает конфигурацию по умолчанию, которая позволяет
      локальная адресация канала при подключении к специальной беспроводной сети.

    * systemd-networkd может настроить очередь управления трафиком
      дисциплины в ядре с использованием нового
      [TrafficControlQueueingDiscipline] раздел и родитель=,
      NetworkEmulatorDelaySec=, NetworkEmulatorDelayJitterSec=,
      NetworkEmulatorPacketLimit=, NetworkEmulatorLossRate=,
      NetworkEmulatorDuplicateRate= настройки.

    * systemd-tmpfiles получил новую настройку w+ для добавления к файлам.

    * systemd-анализ дампа теперь будет сообщать, когда конфигурация памяти в
      ядро не соответствует тому, что настроил systemd (обычно,
      потому что какая-то внешняя программа изменила конфигурацию ядра
      самостоятельно.)

    * добавлена анализировать приобрел новые базы-время= параметр указывает
      глагол "календарь" для разрешения времени относительно этой метки времени вместо этого
      настоящего времени.

    * journalctl --обновление-каталог в настоящее время производит детерминированный выход (делая
      воспроизводимое изображение строится легче).

    * Новая настройка devicetree-overlay теперь задокументирована в загрузчике
      Спецификация.

    * Значение по умолчанию параметра WatchdogSec=, используемого в systemd
      услуги (те, которые входят в комплект самого проекта) могут быть установлены по адресу
      время настройки с помощью параметра-Dservice-watchdog=. Если установлено значение
      пусто, сторожевые псы будут отключены.

* systemd-resolved проверяет IP-адреса в сертификатах теперь, когда GnuTLS используется.

    * libcryptsetup >= 2.0.1 теперь требуется.

    * Параметр конфигурации-Duser-path= может использоваться для переопределения $PATH
      используется диспетчером служб пользователей. По умолчанию снова используется то же самое
      путь как системный менеджер.

    * Инструмент systemd-id128 получил новый переключатель "- u " (или "--uuid") для
      вывод 128-битных идентификаторов в формате UUID (т. е. в " каноническом
      представление.)"

    * Подразделения службы получили новую опцию "песочницы" ProtectKernelLogs= что
      убедитесь, что программа не может получить прямой доступ к журналу ядра
      буфер больше, т. е. системный вызов syslog () (не путать
      с API того же имени в libc, который не затрагивается),
      сделаны узлы/proc /kmsg и/dev / kmsg и возможность CAP_SYSLOG
      недоступно для сервиса. Рекомендуется включить этот параметр
      для всех служб, которые не должны иметь возможности читать или записывать
      буфер журнала ядра, которые, вероятно, почти все.

https://lists.freedesktop.org/archives/systemd-devel/2019-November/043772.html

 

hakavlad
()

Резолюция Дебиан Init Systems и systemd

Форум — Talks

Выбор 1: Подтверждение Инициативного Разнообразия Используя свои полномочия в соответствии с разделом 4.1 (5) Устава, проект издает следующее утверждение, описывающее нашу текущую позицию по системам Init, разнообразию систем Init и использованию средств systemd. Это утверждение описывает положение проекта на момент его принятия. Эта позиция может развиваться с течением времени без необходимости прибегать к будущим общим резолюциям. Процесс GR остается доступным, если проект нуждается в решении и не может прийти к консенсусу.

Выбор 2: systemd, но мы поддерживаем изучение альтернатив Используя свои полномочия в соответствии с разделом 4.1 (5) Устава, проект издает следующее утверждение, описывающее нашу текущую позицию по системам Init, разнообразию систем Init и использованию средств systemd. Это утверждение описывает положение проекта на момент его принятия. Эта позиция может развиваться с течением времени без необходимости прибегать к будущим общим резолюциям. Процесс GR остается доступным, если проект нуждается в решении и не может прийти к консенсусу.

Выбор 3: Сосредоточьтесь на systemd для системы Init и других объектов Используя свои полномочия в соответствии с разделом 4.1 (5) Устава, проект издает следующее утверждение, описывающее нашу текущую позицию по системам Init, разнообразию систем Init и использованию средств systemd. Это утверждение описывает положение проекта на момент его принятия. Эта позиция может развиваться с течением времени без необходимости прибегать к будущим общим резолюциям. Процесс GR остается доступным, если проект нуждается в решении и не может прийти к консенсусу.

Проект Debian признает, что системные единицы обслуживания systemd являются предпочтительной конфигурацией для описания того, как запустить демон / службу. Пакеты должны включать сервисные модули или сценарии инициализации для запуска демонов и сервисов. Если проект или соответствующие стороны не договорились об ином, средства systemd, где они существуют и являются стабильными и поддерживаются сопровождающими systemd, должны быть предпочтительнее, чем специфичные для Debian способы решения той же проблемы, если подход Debian не имеет явных и очевидных преимуществ.

Выбор 4: Поддержка несистемных систем, без блокировки прогресса Название: Поддержка несистемных систем, без блокировки прогресса ПРИНЦИПЫ

  1. Мы хотим продолжать поддерживать несколько систем инициализации в обозримом будущем. И мы хотим улучшить нашу поддержку systemd. Мы разочарованы тем, что для этого пришлось задействовать еще одну ГР.

  2. В первую очередь сообщества в каждой программной экосистеме должны поддерживать и разрабатывать свое соответствующее программное обеспечение, но при активной поддержке других разработчиков и привратников, где это необходимо.

СИСТЕМНЫЕ ЗАВИСИМОСТИ 3. В идеале пакеты должны быть полностью функциональными для всех систем инициализации. Это означает (например), что демоны должны отправлять традиционные сценарии инициализации или использовать другие механизмы, чтобы гарантировать, что они запускаются без systemd. Это также означает, что настольное программное обеспечение должно быть устанавливаемым и в идеале полностью функциональным, без systemd.

  1. Так что отказ от поддержки несистемных систем, где такая поддержка недоступна, является ошибкой. Но это не критическая ошибка выпуска. Вопрос о том, записано ли требование для systemd как формальная ошибка в системе ошибок Debian, когда нет доступных исправлений, зависит от сопровождающего.

  2. Когда пакет имеет ограниченную функциональность без systemd, это обычно не должно документироваться как (прямое или косвенное) Зависит или Рекомендуется от systemd-sysv. Это связано с тем, что при таких зависимостях установка такого пакета может попытаться переключить систему инициализации, а это не то, чего хотел пользователь. Например, демон с только системным сценарием файла systemd по-прежнему должен быть установлен в несистемной системе, поскольку его можно запустить вручную. Одним из следствий этого является то, что в несистемных системах может быть возможно установить программное обеспечение, которое не будет работать или не будет работать должным образом из-за необъявленной зависимости от systemd. Это неудачно, но попытка переключить систему инициализации пользователя хуже. Мы надеемся, что лучшие технические подходы могут быть разработаны для решения этой проблемы.

  3. Мы понимаем, что некоторые сопровождающие считают скрипты инициализации обузой, и мы надеемся, что сообщество сможет найти способы, чтобы упростить добавление поддержки систем инициализации не по умолчанию. Дискуссии о проектировании таких систем должны быть дружескими и совместными, и если будут разработаны подходящие механизмы, они должны поддерживаться обычными способами в Debian.

https://www.debian.org/vote/2019/vote_002 - больше инфы

 , ,

hakavlad
()

Вышел low-memory-monitor 2.0

Форум — Talks

Вышел low-memory-monitor 2.0 - https://gitlab.freedesktop.org/hadess/low-memory-monitor/ - юзерспейсный обработчик нехватки памяти. Способен отправлять сигналы через dbus приложениям о нехватки памяти, чтобы те снизили использование памяти. Способен реагировать на метрики PSI и вызывать ядерного киллера.

Известные проблемы: убивает всё и сразу: https://gitlab.freedesktop.org/hadess/low-memory-monitor/issues/8 плюс там видео демо earlyoom vs LMM с безупречной победой earlyoom.

LMM доступен COPR https://copr.fedorainfracloud.org/coprs/atim/low-memory-monitor/ для пользователей Федора.

Напоминаю, что LMM конкурирует за возможность поставки в Федора по умолчанию: https://pagure.io/fedora-workstation/issue/98

 

hakavlad
()

low-memory-monitor может стать дефолтным юзерспейсным ООМ киллером в Fedora 32

Форум — Talks

Дословно:

Perhaps @hadess and @hakavlad could collaborate on this? It seems like we have more than enough competing implementations already?

– catanzaro

None of them were suitable for integration in the desktop unfortunately, otherwise I wouldn’t have written a new one. There’s not much «collaboration» left to be done, the code is written, and functional. It’s waiting for integration.

– hadess

Бастьен настроен решительно и не собирается останавливаться.

https://pagure.io/fedora-workstation/issue/98 - здесь ребята из Fedora Workstation обсуждают возможность улучшения интерактивности на десктопе при нехватке памяти.

 ,

hakavlad
()

Лимиты на десктопе для предотвращения зависаний

Форум — Desktop

Вопрос фанатам лимитов: как вы решите ситуацию, когда, например, на десктопе я пользуюсь прогами app1, app2, app3. И каждый раз они могут выжирать разное кол-во памяти. И могут запускаться сразу все. А могут по одной. При этом я хочу достичь полной утилизации памяти, при этом надежно предотвращать зависания.

praseodim aidaho WitcherGeralt intelfx

 ,

hakavlad
()

Исксы упали

Форум — Desktop

Иксы упали внезапно:

сен 15 20:33:04 PC systemd[4275]: Starting Virtual filesystem service...
сен 15 20:33:04 PC dbus-daemon[4286]: Successfully activated service 'org.gtk.vfs.Daemon'
сен 15 20:33:04 PC systemd[4275]: Started Virtual filesystem service.
сен 15 20:33:05 PC kernel: sysrq: SysRq : SAK
сен 15 20:33:05 PC kernel: tty tty7: SAK: killed process 4244 (Xorg): by session
сен 15 20:33:05 PC kernel: tty tty7: SAK: killed process 4244 (Xorg): by controlling tty
сен 15 20:33:05 PC kernel: tty tty7: SAK: killed process 4269 (InputThread): by controlling tty
сен 15 20:33:05 PC org.a11y.atspi.Registry[4289]: XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
сен 15 20:33:05 PC org.a11y.atspi.Registry[4289]: after 68 requests (68 known processed) with 0 events remaining.
сен 15 20:33:07 PC lightdm[4317]: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
сен 15 20:33:07 PC systemd-logind[827]: New session c3 of user lightdm.
сен 15 20:33:07 PC systemd[1]: Started Session c3 of user lightdm.
сен 15 20:33:07 PC org.a11y.atspi.Registry[4289]: SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry
сен 15 20:33:08 PC lightdm[4272]: pam_unix(lightdm-greeter:session): session closed for user lightdm
сен 15 20:33:08 PC systemd-logind[827]: Removed session c2.
сен 15 20:33:11 PC systemd[1]: Started Getty on tty3.
сен 15 20:33:12 PC systemd[1]: Started Getty on tty4.
сен 15 20:33:12 PC systemd[1]: Started Getty on tty5.
сен 15 20:33:13 PC systemd[1]: Started Getty on tty6.
сен 15 20:33:16 PC kernel: sysrq: SysRq : SAK
сен 15 20:33:16 PC kernel: tty tty7: SAK: killed process 4309 (Xorg): by session
сен 15 20:33:16 PC kernel: tty tty7: SAK: killed process 4309 (Xorg): by controlling tty
сен 15 20:33:16 PC kernel: tty tty7: SAK: killed process 4314 (InputThread): by controlling tty
сен 15 20:33:16 PC org.a11y.atspi.Registry[4289]: XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
сен 15 20:33:16 PC org.a11y.atspi.Registry[4289]: after 31 requests (31 known processed) with 0 events remaining.
сен 15 20:33:16 PC lightdm[4317]: pam_unix(lightdm-greeter:session): session closed for user lightdm
сен 15 20:33:16 PC systemd-logind[827]: Removed session c3.
сен 15 20:33:16 PC lightdm[4180]: session_get_login1_session_id: assertion 'session != NULL' failed
сен 15 20:33:16 PC systemd[1]: Stopping User Manager for UID 111...
сен 15 20:33:16 PC systemd[4275]: Stopping Virtual filesystem service...

В чем может быть причина? Что за странное убийство? Что такое SAK?

 ,

hakavlad
()

Второй релиз юзерспейсного OOM киллера oomd 0.2.0

Новости — Open Source
Группа Open Source

Второй релиз юзерспейсного OOM киллера oomd 0.2.0, лицензированного под GPL-2.0 и написанного на C++.

Релиз 0.2.0 включает в себя множество обновлений и перестановок файлов, чтобы упростить пакет oomd для дистрибутивов Linux: https://github.com/facebookincubator/oomd/releases/tag/v0.2.0

RPM для только что выпущенного oomd v0.2.0 доступны в этом репозитории COPR: https://copr.fedorainfracloud.org/coprs/filbranden/oomd/

oomd ориентирован на высоконагруженные сервера и для работы требует поддержки PSI и cgroup2.

>>> Подробности

 ,

hakavlad
()

Включение GUI уведомлений о нехватке памяти по дефолту

Форум — Desktop

Как вы относитесь к GUI уведомлениям о нехватке памяти? Например, если уровни MemAvailable & SwapFree падают ниже 20% - юзер начинает получать периодические уведомления, как бывает при разрядке аккумулятора. Это позволит юзеру вовремя остановиться и, например, перестать открывать новые вкладки браузера и запускать новые программы, чтоб избежать потери данных. Уведомления могут быть отключаемы, уровни памяти и периодичность настраиваемы. Должно ли такое поведение быть включено на десктопе по умолчанию? Аргументируйте свою позицию.

 ,

hakavlad
()

Red Hat предоставляет бесплатный доступ к RHEL для разработчиков

Форум — Talks

Компания Red Hat начала предоставлять бесплалный доступ к скачиванию и обновлениям RHEL для разработчиков, использующих RHEL для целей разработки. Для получения доступа к скачиванию образов необходимо зарегистрироваться на сайте RH и принять соглашение об использовании.

Подробности

Перемещено jollheef из redhat

 

hakavlad
()

low-memory-monitor: анонс нового юзерспейсного обработчика нехватки памяти

Новости — Open Source
Группа Open Source

Bastien Nocera анонсировал новый обработчик нехватки памяти для рабочего стола Gnome. Написан на C. Лицензирован под GPL3. Для работы демона необходимо ядро 5.2 или новее. Демон проверяет дефицит памяти через /proc/pressure/memory и при превышении порога отправляет через dbus предложение процессам о необходимости умерить аппетиты. Также демон может пытаться сохранить отзывчивость системы через запись в /proc/sysrq-trigger.

Страница проекта

Обсуждение на r/linux

Анонс в блоге автора

>>> Подробности

 low-memory-monitor, , , ,

hakavlad
()

Выпуск earlyoom 1.3, процесса для раннего реагирования на нехватку памяти

Новости — Open Source
Группа Open Source

После семи месяцев разработки опубликован выпуск фонового процесса earlyoom 1.3, который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается на ранней стадии отреагировать на возникновения нехватки памяти.

Если объём доступной памяти меньше заданного значения, то earlyoom принудительно (через отправку SIGTERM или SIGKILL) завершит работу процесса, наиболее активно потребляющего память (имеющего самое большое значение /proc/*/oom_score), не доводя состояние системы до очистки системных буферов и мешающего работе своппинга (обработчик OOM (Out Of Memory) в ядре срабатывает когда состояние нехватки памяти уже достигло критичных значений и обычно к этому моменту система уже не реагирует на действия пользователя).

Earlyoom поддерживает отправку уведомлений о принудительно завершённых процессах на рабочий стол (с помощью notify-send), а также предоставляет возможность определения правил, в которых при помощи регулярных выражений можно задать имена процессов, завершение которых предпочтительно (опция "--prefer") или остановки которых стоит избегать (опция "--avoid").

Основные изменения в новом выпуске:

  • Реализовано ожидание завершения процесса после отправки ему сигнала. Это устраняет проблему, заключающуюся в том, что earlyoom иногда убивает более одного процесса, когда одного будет достаточно;
  • Добавлен вспомогательный скрипт (notify_all_users.py) для уведомления всех залогиненых пользователей о завершении процессов через уведомления notify-send;
  • Исправлено некорректное отображение некоторых имен процессов, содержащих UTF-8 символы;
  • Принят кодекс поведения (Contributor Covenant Code of Conduct).

>>> Подробности

 , ,

hakavlad
()

Первый релиз юзерспейсного OOM-киллера - oomd 0.1.0

Новости — Open Source
Группа Open Source

Разработка Facebook нацелена на более оперативное и выборочное завершение работы процессов, потребляющих слишком много памяти, на стадии до срабатывания OOM-обработчика ядра Linux. Код oomd написан на языке C++ и поставляется под лицензией GPLv2. Oomd уже используется в инфраструктуре Facebook и хорошо зарекомендовал себя при промышленных нагрузках (в частности, проект позволил почти полностью избавиться от возникновения на серверах длительных livelock-блокировок). Подробнее о работе oomd: https://facebookmicrosites.github.io/oomd/

>>> Подробности

 , ,

hakavlad
()

Выпуск Nohang v0.1 - демона, предотвращающего OOM в пространстве пользователя

Новости — Open Source
Выпуск Nohang v0.1 - демона, предотвращающего OOM в пространстве пользователя
Группа Open Source

Nohang - это демон для GNU/Linux, обрабатывающий ситуации нехватки памяти и предотвращающий OOM. Код открыт под лицензией MIT. Написан на Python, потребляет около 10 MiB VmRSS и настраивается с помощью редактирования конфига, расположенного по адресу /etc/nohang/nohang.conf. По сравнению с аналогичным проектом earlyoom, nohang обладает некоторыми дополнительными возможностями.

Основные особенности:

  • настраиваемая интенсивность мониторинга: если на сервере не предполагаются резкие перепады потребления памяти, то можно снизить нагрузку на процессор, снизив интенсивность мониторинга;
  • при нехватке памяти nohang сначала отправляет SIGTERM процессу с наибольшим oom_score. При дальнейшем падении уровня доступной памяти и отсутствии реакции на SIGTERM процесс с наибольшим oom_score получает SIGKIL. Уровни доступной памяти, при достижении которых должны происходить корректирующие действия, могут задаваться в процентах и в MiB;
  • возможность GUI уведомлений о результатах завершения процессов (реализовано с помощью notify-send);
  • возможность GUI уведомлений о низком уровне доступной памяти: настраиваемость уровня памяти, при котором отправляются уведомления, и минимальная периодичность уведомлений (по умолчанию уведомления отключены; уровни памяти для отправки: одновременное снижение уровней SwapFree и MemAvailable до 20%; минимальный период между отправками уведомлений - 20 секунд). В уведомлениях отображается уровень доступной памяти, а также Pid и Name процесса с наибольшим badness;
  • поддержка zram - mem_used_total в качестве триггера (может быть актуально для систем с большим disksize и низкой степенью сжатия сохраняемых в zram данных);
  • предохранение от убийства невинных жертв: задержки после отправки сигналов (по умолчанию 0.5 секунд для SIGTERM и 3 секунды для SIGKILL) предотвращают возможное массовое убийство процессов, так как память при завершении процессов может освобождаться не сразу; возможность игнорировать процессы, имеющие badness ниже заданного;
  • возможность модификации badness процессов перед выбором жертвы через сопоставление имён процессов с заданным в конфиге регулярным выражением;
  • возможна настройка запуска произвольной команды (например, sendmail или systemctl restart) вместо отправки сигнала SIGTERM жертве, если имя процесса-жертвы совпадает с заданным в конфиге именем.

>>> Подробности

 , ,

hakavlad
()

Выпуск earlyoom 1.2

Новости — Open Source
Группа Open Source

После трёх месяцев разработки опубликован выпуск фонового процесса earlyoom 1.2, который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается на ранней стадии отреагировать на возникновения нехватки памяти.

( читать дальше... )

>>> Подробности

 , ,

hakavlad
()

RSS подписка на новые темы