Please open Telegram to view this post
VIEW IN TELEGRAM
😁43 5 3
Для ядра Linux подготовлены оптимизации, повышающие производительность планировщиков ввода/вывода
Йенс Эксбо, создатель io_uring и планировщиков ввода/вывода CFQ, Deadline и Noop, продолжил свои эксперименты с оптимизацией ввода/вывода в ядре Linux. На этот раз под его внимание попали планировщики ввода/вывода BFQ и mq-deadline, оказавшиеся узким местом как минимум в случае скоростных накопителей NVMe.
Как показало изучение ситуации, одной из ключевых причин неоптимальной производительности подсистем планировщиков ввода/вывода стали проблемы с конкурирующими блокировками ("lock contention", попытка получить блокировку, удерживаемую другим потоком). Благодаря мерам, нацеленным на снижение соперничества при обработке блокировок, таким как сериализация диспетчеризации и вставки запросов, скорость работы планировщиков выросла в ряде ситуаций в разы (в IOPS).
При тестировании планировщика BFQ утилитой fio производительность выросла с 567К до 1551К операций ввода/вывода в секунду, а конкуренция блокировок снизилась с 96% до 30%. В случае с mq-deadline производительность после применения предложенных патчей при использовании NVMe-накопителя увеличилась с 1070К до 2560K операций ввода/вывода в секунду (IOPS), а конкуренция блокировок снизилась с 94% до 23%.
Linux / Линукс🥸
Йенс Эксбо, создатель io_uring и планировщиков ввода/вывода CFQ, Deadline и Noop, продолжил свои эксперименты с оптимизацией ввода/вывода в ядре Linux. На этот раз под его внимание попали планировщики ввода/вывода BFQ и mq-deadline, оказавшиеся узким местом как минимум в случае скоростных накопителей NVMe.
Как показало изучение ситуации, одной из ключевых причин неоптимальной производительности подсистем планировщиков ввода/вывода стали проблемы с конкурирующими блокировками ("lock contention", попытка получить блокировку, удерживаемую другим потоком). Благодаря мерам, нацеленным на снижение соперничества при обработке блокировок, таким как сериализация диспетчеризации и вставки запросов, скорость работы планировщиков выросла в ряде ситуаций в разы (в IOPS).
При тестировании планировщика BFQ утилитой fio производительность выросла с 567К до 1551К операций ввода/вывода в секунду, а конкуренция блокировок снизилась с 96% до 30%. В случае с mq-deadline производительность после применения предложенных патчей при использовании NVMe-накопителя увеличилась с 1070К до 2560K операций ввода/вывода в секунду (IOPS), а конкуренция блокировок снизилась с 94% до 23%.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24 2
Please open Telegram to view this post
VIEW IN TELEGRAM
Представлен RubyWM, оконный менеджер, написанный целиком на Ruby
Опубликован проект RubyWM, развивающий оконный менеджер на базе протокола X11, написанный на языке Ruby, включая драйвер для работы с протоколом X11. RubyWM поддерживает виртуальные рабочие столы и может использовать как мозаичную (tailing) компоновку окон, так и произвольное позиционирование окон на рабочем столе.
Оконный менеджер отмечен как экспериментальный, но уже используется в повседневной работе автора проекта. Для управления оконным менеджером используются события X11 ClientMessage, которые могут генерироваться утилитой xdotool. Для обработки клавиатурных комбинаций применяется sxhkd.
Linux / Линукс🥸
Опубликован проект RubyWM, развивающий оконный менеджер на базе протокола X11, написанный на языке Ruby, включая драйвер для работы с протоколом X11. RubyWM поддерживает виртуальные рабочие столы и может использовать как мозаичную (tailing) компоновку окон, так и произвольное позиционирование окон на рабочем столе.
Оконный менеджер отмечен как экспериментальный, но уже используется в повседневной работе автора проекта. Для управления оконным менеджером используются события X11 ClientMessage, которые могут генерироваться утилитой xdotool. Для обработки клавиатурных комбинаций применяется sxhkd.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14 9
This media is not supported in your browser
VIEW IN TELEGRAM
Autin — инструмент для синхронизации истории команд между системами.
Данные хранятся в БД, могут быть зашифрованы перед передачей, а для синхронизации имеется возможность развернуть собственный сервер.
📌 https://github.com/atuinsh/atuin
Linux / Линукс🥸
Данные хранятся в БД, могут быть зашифрованы перед передачей, а для синхронизации имеется возможность развернуть собственный сервер.
📌 https://github.com/atuinsh/atuin
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Valve выпустила Proton 8.0-5, пакет для запуска Windows-игр в Linux
Valve опубликовала обновление проекта Proton 8.0-5, основанного на кодовой базе проекта Wine и нацеленного на обеспечение запуска в Linux игровых приложений, созданных для Windows и представленных в каталоге Steam.
Среди изменений в новой версии Proton:
— Обеспечена поддержка расширенного динамического диапазона (HDR) на оборудовании поддерживающем данную технологию.
— Добавлена поддержка игр:
~ Grotesque Tactics: Evil Heroes
~ Welcome to Princeland
~ Red Tie Runner
~ Simon the Sorcerer: 25th Anniversary Edition
~ Assassin's Creed Mirage
— До версии 2.3-21-g1b31aa5d обновлена прослойка DXVK
И другие изменения.
Linux / Линукс🥸
Valve опубликовала обновление проекта Proton 8.0-5, основанного на кодовой базе проекта Wine и нацеленного на обеспечение запуска в Linux игровых приложений, созданных для Windows и представленных в каталоге Steam.
Среди изменений в новой версии Proton:
— Обеспечена поддержка расширенного динамического диапазона (HDR) на оборудовании поддерживающем данную технологию.
— Добавлена поддержка игр:
~ Grotesque Tactics: Evil Heroes
~ Welcome to Princeland
~ Red Tie Runner
~ Simon the Sorcerer: 25th Anniversary Edition
~ Assassin's Creed Mirage
— До версии 2.3-21-g1b31aa5d обновлена прослойка DXVK
И другие изменения.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁61 9👍8 5🫡4
8.2% наиболее популярных загрузок в NPM приходится на устаревшие пакеты
Результаты анализа статистики о 50 тысячах наиболее загружаемых пакетов в репозитории NPM показали, что 7500 (15%) из наиболее загружаемых пакетов оказались связаны с устаревшими пакетами и прекратившими существование проектами. Для упрощения определения устаревших пакетов среди зависимостей, используемых в своём проекте, предложена утилита Dependency-Deprecated-Checker, опубликованная под лицензией MIT.
В абсолютном выражении распространение устаревших пакетов и пакетов без ссылок на репозитории в NPM экстраполировано примерно в 2.1 миллиарда загрузок в неделю.
Linux / Линукс🥸
Результаты анализа статистики о 50 тысячах наиболее загружаемых пакетов в репозитории NPM показали, что 7500 (15%) из наиболее загружаемых пакетов оказались связаны с устаревшими пакетами и прекратившими существование проектами. Для упрощения определения устаревших пакетов среди зависимостей, используемых в своём проекте, предложена утилита Dependency-Deprecated-Checker, опубликованная под лицензией MIT.
В абсолютном выражении распространение устаревших пакетов и пакетов без ссылок на репозитории в NPM экстраполировано примерно в 2.1 миллиарда загрузок в неделю.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20 6❤5
Уязвимость в утилите GNU split, приводящая к переполнению буфера
split поставляется в пакете GNU coreutils и применяется для разделения больших файлов на части. В утилите выявлена уязвимость (CVE-2024-0684), приводящая к переполнению буфера при обработке длинных строк (несколько сотен байт), в случае использования в split опции "--line-bytes" ("-C").
Уязвимость вызвана ошибкой, допущенной в выпуске coreutils 9.2 при замене вызова функции xrealloc на xpalloc. Патч с исправлением уже принят в кодовую базу, но новая версия с исправлением пока не сформирована.
Linux / Линукс🥸
split поставляется в пакете GNU coreutils и применяется для разделения больших файлов на части. В утилите выявлена уязвимость (CVE-2024-0684), приводящая к переполнению буфера при обработке длинных строк (несколько сотен байт), в случае использования в split опции "--line-bytes" ("-C").
Уязвимость вызвана ошибкой, допущенной в выпуске coreutils 9.2 при замене вызова функции xrealloc на xpalloc. Патч с исправлением уже принят в кодовую базу, но новая версия с исправлением пока не сформирована.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест новостей и статей
• Релиз Firefox 122
• Роутеры и гаджеты под угрозой. На Linux распространяется новый вирус NoaBot
• Как сделать кастомную раскладку клавиатуры в Linux
• Выпуск web-браузера Chrome 121
• Создание deb-пакета для самых маленьких. Из простого проекта с разделяемыми библиотеками
• LoongArch Lands Initial Rust Kernel Support For Linux 6.8
• Linux Networking: Configuring Network Address Translation (NAT)
• Linux File Compression: gzip, bzip2, and xz Unveiled
• Ubuntu Pro Packages in ‘Software Updater’ Draw Criticism
Linux / Линукс🥸
• Релиз Firefox 122
• Роутеры и гаджеты под угрозой. На Linux распространяется новый вирус NoaBot
• Как сделать кастомную раскладку клавиатуры в Linux
• Выпуск web-браузера Chrome 121
• Создание deb-пакета для самых маленьких. Из простого проекта с разделяемыми библиотеками
• LoongArch Lands Initial Rust Kernel Support For Linux 6.8
• Linux Networking: Configuring Network Address Translation (NAT)
• Linux File Compression: gzip, bzip2, and xz Unveiled
• Ubuntu Pro Packages in ‘Software Updater’ Draw Criticism
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10 1
Forwarded from DevOps MemOps
Selfharm Linux
Контейнер Docker и форк Suicide Linux — любая неверная команда Bash заставит интерпретатор удалить случайный файл с жесткого диска пользователя.
Это игра, чтобы увидеть, как долго пользователь может продолжать использовать операционную систему до её сбоя.
Игру можно запустить в безопасном или опасном режиме
📌 Подробнее: https://github.com/RGBCube/selfharm-linux
MemOps🤨
Контейнер Docker и форк Suicide Linux — любая неверная команда Bash заставит интерпретатор удалить случайный файл с жесткого диска пользователя.
Это игра, чтобы увидеть, как долго пользователь может продолжать использовать операционную систему до её сбоя.
Игру можно запустить в безопасном или опасном режиме
📌 Подробнее: https://github.com/RGBCube/selfharm-linux
MemOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁57 8 1
Выпуск OneScript 1.9.0, среды исполнения скриптов на языке 1С:Предприятие
Опубликован выпуск проекта OneScript 1.9.0, развивающего независимую от компании 1С кросс-платформенную виртуальную машину для выполнения скриптов на языке 1С:Предприятие. Система самодостаточна и позволяет выполнять скрипты на языке 1С без установки платформы 1С:Предприятие и специфичных для неё библиотек. Виртуальную машину OneScript можно использовать как для прямого исполнения сценариев на языке 1С, так и для встраивания поддержки их исполнения в приложения, написанные на других языках.
В новой версии:
▪️ В объект "Рефлектор" добавлен метод "ИзвестныеТипы()", который возвращает все зарегистрированные типы в виде "ТаблицыЗначений".
▪️ Реализован метод "БуферДвоичныхДанных.Разделить()".
При вызове метода через "Рефлектор" обеспечен контроль сигнатуры метода и количества параметров.
▪️ Улучшена документация, в файл README добавлены инструкции по сборке.
▪️ В отладчике реализовано отображение приватных (не экспортных) переменных объектов. Налажена индексация переменных и устранена проблема с показом в некоторых ситуациях неверных значений.
Linux / Линукс🥸
Опубликован выпуск проекта OneScript 1.9.0, развивающего независимую от компании 1С кросс-платформенную виртуальную машину для выполнения скриптов на языке 1С:Предприятие. Система самодостаточна и позволяет выполнять скрипты на языке 1С без установки платформы 1С:Предприятие и специфичных для неё библиотек. Виртуальную машину OneScript можно использовать как для прямого исполнения сценариев на языке 1С, так и для встраивания поддержки их исполнения в приложения, написанные на других языках.
В новой версии:
▪️ В объект "Рефлектор" добавлен метод "ИзвестныеТипы()", который возвращает все зарегистрированные типы в виде "ТаблицыЗначений".
▪️ Реализован метод "БуферДвоичныхДанных.Разделить()".
При вызове метода через "Рефлектор" обеспечен контроль сигнатуры метода и количества параметров.
▪️ Улучшена документация, в файл README добавлены инструкции по сборке.
▪️ В отладчике реализовано отображение приватных (не экспортных) переменных объектов. Налажена индексация переменных и устранена проблема с показом в некоторых ситуациях неверных значений.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😁8❤2