Обновить

Администрирование

Сначала показывать
Порог рейтинга

io_uring против epoll в KVM: сервер с большим числом соединений

Тест io_uring против epoll в KVM проводят на одной кодовой базе. Бенчмарк io_uring при множестве соединений корректен, если меняется только бэкенд событий. Итог зависит от ядра, цикла событий, протокола, режима io_uring и offload.

Когда io_uring обгоняет epoll на сетевом сервере?

io_uring обгоняет epoll, когда сервер пакетно отправляет операции и обрабатывает завершения, сокращая число переходов в ядро. Такой выигрыш обычно виден при множестве одновременных соединений и малом объёме работы на запрос. Простая замена epoll-уведомлений на io_uring poll может не окупить сложность.

Что обязано остаться неизменным между epoll и io_uring

Чтобы бенчмарк io_uring при множестве соединений был честным, обе ветки используют общий парсер, обработчик, TLS-режим, keep-alive и формат ответа. Сверяют чтения, записи и аллокации на запрос. Поэтому демонстрационный пример не сравнивают со зрелым сервером.

Готовность fd против очередей submission и completion

epoll сообщает о готовности fd, а приложение выполняет I/O. В io_uring приложение отправляет SQE в submission queue, а ядро записывает CQE. Пакетная отправка сокращает переходы в ядро, но неудачный цикл событий сводит выигрыш к нулю. Поэтому масштабирование epoll в KVM проверяют на том же профиле нагрузки.

Где KVM и virtio могут скрыть разницу бэкендов

Пакет идёт через сетевой стек гостя, очереди vhost-net и тракт хоста. До теста фиксируют число очередей, offload, привязку vCPU и IRQ. Иначе задержка сетевого сервера io_uring объясняется хостом, а не бэкендом.

Какой тест позволяет честно сравнить эти модели?

Используйте один код сервера, протокол, объём работы на запрос и правила соединений, меняя только бэкенд событий. После прогрева запускайте серии с одинаковым CPU-бюджетом на каждой ступени concurrency. Публикуйте пропускную способность, p99, число системных вызовов, ошибки и загрузку гостя и хоста отдельно.

Соединения, запросы и backpressure без скрытых различий

Задайте размеры запросов и ответов, долю новых соединений и keep-alive. Повышайте concurrency до насыщения, следя за ошибками, таймаутами и очередью. Накладные расходы цикла событий оценивайте по CPU на запрос и числу системных вызовов, сопоставляя их с p99 и пропускной способностью.

Syscalls, переключения контекста и CPU на запрос

Счётчики cycles, instructions и context-switches делят на число запросов. Отдельно измеряют расход CPU рабочими и vhost-потоками. Многократный accept в io_uring снижает число постановок accept, но каждый CQE нужно обработать. К отчёту прикладывают коммит, конфиги бэкендов, генератор и сырой CSV.

Где преимущество появляется и где исчезает

Сравните низкую нагрузку, рабочую точку и перегрузку. Проверьте мелкие и крупные сообщения. Сохраняйте p50, p99, пропускную способность, соединения в секунду и разброс повторов. Если разбросы перекрываются, не выбирайте победителя.

Какие накладные расходы добавляет KVM?

  1. Часть ожидания vCPU отражается в %steal, остальные паузы видны только на хосте.

  2. Очереди гостя, vhost и NIC хоста могут накапливать пакеты независимо от бэкенда.

  3. IRQ, softirq и offload влияют на расход CPU, поэтому настройки фиксируют до теста.

Как найти источник p99 внутри ring или цикла событий

При росте p99 трассируют SQ/CQ, обработку CQE и паузы рабочих потоков. Проверяют переполнение ring, незавершённые операции и backpressure. Если хвостовая латентность растёт вместе с паузами vCPU, сначала проверяют хост.

Когда выигрыш оправдывает новый бэкенд

До перехода фиксируют версию ядра, поддержку отмены, наблюдаемость и fallback. Настройки virtio не меняют, иначе выигрыш не отнести к бэкенду. Порог связывают с целевой метрикой и ценой сопровождения. Новый бэкенд включают поэтапно, с откатом на epoll.

io_uring против epoll в KVM выбирают не по новизне API. Переход оправдан, если серии дают выигрыш по p99, пропускной способности или CPU на запрос, а поведение при перегрузке и fallback предсказуемо. Иначе epoll остаётся более простым бэкендом.

Теги:
+2
Комментарии0

Привет, Хабр! На связи редакция ICL Services. В этом августе нашей компании исполнилось 20 лет, и по этому случаю мы запускали спецпроект, где рассказали историю бренда глазами сотрудников-динозавров, работающих более 15 лет и повидавших невиданное. Вот, кстати, первая статья цикла.

А еще в преддверие юбилея мы сняли подкаст, где уже другие сотрудники-старички вспомнили свой путь в ИТ-аутсорсинге и сравнили опыт работы на международном и российском рынках! Коллеги обсудили, как менялся подход к сервисной модели и почему бизнес все чаще покупает результат, а не просто специалистов, почему SLA на разных рынках работает по-разному, как мы перешли от длинных международных контрактов к работе в условиях неопределенности и и какие культурные уроки получили за эти годы.

Теги:
+3
Комментарии0

Дайджест Рег.облака за август

Август выдался насыщенным: ввели оплату ИИ-моделей по токенам, выпустили новый тариф со 192 ГБ видеопамяти, опубликовали два кейса по миграции, подвели итоги первого полугодия, провели вебинар по выделенным серверам и выложили несколько полезных статей на Хабре. Дальше — кратко о главном.

Запустили оплату ИИ-моделей по токенам

Добавили возможность оплаты по токенам на ИИ-платформе. Теперь можно подключаться к 29 LLM-моделям через OpenAI-совместимый API без развертывания собственной инфраструктуры. Этот формат рассчитан на компании, которые внедряют генеративный ИИ, но не готовы к затратам на выделенные GPU. 

Выпустили новый тариф со 192 ГБ видеопамяти

Внутри — две NVIDIA RTX 6000 Pro по 96 ГБ, 32 vCPU, 128 ГБ RAM и 1024 ГБ NVMe. Подойдет для крупных LLM, обучения моделей и генерации видео. Протестировать можно здесь.  

Опубликовали два новых кейса

В блоге вышли материалы с реальными примерами из практики:

Подвели итоги первого полугодия 2026 года

Опубликовали в блоге статью с аналитикой рынка и результатами Рег.облака за первые шесть месяцев года. Приток новых клиентов публичного облака за первое полугодие 2026 года вырос на 113% по сравнению с аналогичным периодом 2025-го. Общая база клиентов достигла 30 тысяч, а за последние 12 месяцев пользователи подняли 165,1 тысячи новых облачных серверов.

Провели вебинар по выделенным серверам

13 августа прошел вебинар, посвященный переходу с виртуальных серверов (VPS) на физические выделенные серверы (Bare Metal). Запись — по ссылке

Следующий вебинар — уже 17 сентября. Покажем, где S3 может заменить классические файловые хранилища, как встроить его в процессы разработки и эксплуатации и на что обратить внимание при выборе архитектуры хранения. Зарегистрироваться можно по ссылке.

Публиковали полезные статьи

В августе вышло несколько статей — если пропустили, читайте:

Мы продолжаем развивать сервисы для бизнеса и делать облачные технологии доступнее. Впереди — новые релизы, полезные материалы и еще больше кейсов. Спасибо, что с нами!

Теги:
+4
Комментарии0

Eight Rooms Modern - есть такой корпоративный справочник сотрудников поверх Active Directory / LDAP Оригинальный проект eight-rooms на GitHub

Но не обновлялся с 2021 года.

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

Экспорт

  • Excel → CSV (UTF-8 + BOM, ;), без PHPExcel/PhpSpreadsheet и без zip

  • Новый экспорт vCard (pages/si_export_vcf.php)

  • PDF: мелкие правки под тот же LDAP-фильтр / PHP 7.x

Карточка сотрудника

  • Тема только через modern.css (без старых newwin.css / general.css / staff.css на карточке)

  • Фото в натуральном размере (не ужимается до 300px)

  • Hover: лёгкий наклон

  • Клик: оборот на 360° (просто прикольно)

  • Исправлены ФИО в ссылках (раньше DN «прилипал» к имени)

  • Пустые поля ФИО/телефон/должность в таблице подчиненных

  • Дерево подчиненных: глубина до 8, до 400 человек; без company=*

  • Для заместителя — дерево босса; себя и босса в список не включает

  • Руководитель отдела в начале списка по отделу

Списки и поиск

  • Живой поиск (AJAX), debounce, статус «Найдено / ничего»

  • Фильтр списков: objectCategory=person + условие отключённых (без жёсткого objectClass=user там, где это обнуляло выдачу)

  • Экранирование LDAP (escapeFilterValue), безопасный menu_marker (resolvePageMarker)

  • Избранное: проверка авторизации (403 без куки/сессии)

PHP / LDAP / совместимость

  • Целевой PHP: 7.0–7.3 (composer.json>=7.0 <7.4, убран PhpSpreadsheet)

  • setcookie без options-array (для PHP < 7.3)

  • LDAP: @ldap_bind / безопасный search при ошибках; makeLdapConfigAttrLowercase реально пишет в $GLOBALS

  • LDAPTable: эмуляция старых /e без падения на PHP 7+

  • Кавычки у ключей вроде title / count где ломалось

  • display_errors = 1 оставлен для отладки

UI (общий)

  • Палитра и таблицы в modern.css

  • Шрифты примерно +2pt в основных CSS

  • Липкая шапка / скролл блока отделов (в modern-скине)

  • Счётчик посещений: уникальные LAN-IP

Тесты и документация

  • tests/smoke.phptests/verify.phptests/vendor-compat.php

  • CHANGELOG.md, обновлённый README.md

  • Конфиги компании очищены от секретов/внутренних хостов (шаблон для раздачи)

Локализация

  • Новые строки: плейсхолдер поиска, избранное, карточка, и т.п. (ru.yml / en.yml)

Качать тут: https://poluyanov.ru/application/eight-rooms-modern/

Теги:
+4
Комментарии0

Открытый проект Refund4Freedom (GitLab) помогает пользователям ноутбуков и ПК с предустановленной Windows 10/11 вернуть деньги за переплату за лицензию.этих ОС в том случае, если покупатели компьютеров используют другие решения в качестве операционным систем:

  • У HP нет процедуры возмещения расходов на Windows. Несколько раз клиенты обращались в HP, но HP их игнорировала.

  • У Lenovo есть процедура возмещения расходов на Windows. Процедура возмещения расходов на лицензию Windows от Lenovo. ПК необходимо отправить в сервисный центр Lenovo.

  • У Asus есть процедура возмещения расходов на Windows. Отправлять ПК в Asus не нужно.

  • У Dell нет процедуры возмещения расходов на Windows. В условиях использования Dell, в статье 7.3, прямо указано, что в случае отказа в выдаче лицензии на операционную систему компьютер должен быть возвращён.

  • Acer предлагает процедуру возмещения расходов на Windows. Процедура возмещения расходов на лицензию Acer для Windows. ПК необходимо отправить в сервисный центр Acer.

Теги:
+5
Комментарии0

Представлен открытый сетевой проект Tailcat — как netcat, но поверх плоскости данных Tailscale. Также доступна экспериментальная веб‑демонстрация в браузере (tailcat, скомпилированный в WebAssembly), которая может отправлять и получать файлы или текст, взаимодействуя с CLI. Трафик браузера передаётся только через DERP, без прямых соединений до появления поддержки WebRTC

Теги:
+4
Комментарии0

Привет, помудрил немного и выкатил свеженькое sshto! В новой версии добавлена поддержка оператора Include в конфигах и добавлена сортировка списка групп хостов по имени:

теперь это сортировано
теперь это сортировано

пс. гляньте еще вот это, коллега недавно опубликовал прикольную штуку для этих ваших кубернетисов.

Творите, выдумывайте, пробуйте!)

Теги:
+4
Комментарии0

Compact OS в Windows: как освободить место без удаления файлов

Если системный SSD почти заполнен, не обязательно сразу удалять программы, игры или личные данные. В Windows есть встроенный механизм Compact OS, который сжимает системные файлы и помогает освободить несколько гигабайт.

Функция появилась в Windows 10 и поддерживается в Windows 11. Отдельного переключателя в настройках нет: управлять Compact OS нужно через команду Compact.exe.

Как работает Compact OS

Windows хранит часть системных файлов в сжатом виде, а при обращении распаковывает их на лету. Компоненты ОС при этом не удаляются и не отключаются.

Технология поддерживается на компьютерах с UEFI и классическим BIOS. Windows Update также умеет обслуживать сжатую установку: заменять и удалять необходимые файлы без постоянного увеличения её размера.

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

Как проверить и включить функцию

Откройте командную строку от имени администратора и выполните:

Compact.exe /CompactOS:query

Команда покажет, используется ли Compact OS сейчас.

Для включения сжатия:

Compact.exe /CompactOS:always

Чтобы вернуть обычное состояние:

Compact.exe /CompactOS:never

Операция может занять некоторое время: Windows должна обработать системные файлы. Перед началом желательно создать резервную копию важных данных и убедиться, что компьютер подключён к питанию.

Сколько места можно освободить

Точный результат зависит от версии Windows и конфигурации системы. В документации Microsoft для 64-разрядной Windows 10 версии 1607 приведён пример установки объёмом 15,06 ГБ. После применения Compact OS размер уменьшался до 11,3 ГБ — экономия составляла более 3,7 ГБ.

При дополнительном single-instancing объём снижался до 10,09 ГБ, а суммарная экономия превышала 4,75 ГБ.

Это ориентиры, а не гарантия для любого компьютера. На Windows 11 результат может быть другим.

Когда Compact OS имеет смысл

Функция пригодится, если:

  • системный SSD небольшой;

  • раздел почти заполнен;

  • удалять приложения и пользовательские файлы не хочется;

  • нужно освободить несколько гигабайт именно за счёт компонентов Windows.

На компьютере с SSD на 1–2 ТБ польза обычно ограничена: несколько гигабайт редко решают проблему нехватки места.

Важно помнить, что Compact OS сжимает только системные файлы. Место также занимают:

  • Pagefile.sys и Hiberfil.sys;

  • обновления Windows;

  • точки восстановления;

  • журналы и кэши;

  • языковые пакеты;

  • компоненты Windows;

  • приложения и временные файлы.

Поэтому сначала стоит проверить, что именно заполняет диск. Иногда больше места удаётся вернуть очисткой временных файлов, удалением старых обновлений или отключением гибернации.

Итог

Compact OS — штатный способ уменьшить размер Windows без удаления системных компонентов. Он особенно полезен на устройствах с небольшими накопителями, но не является универсальным решением проблемы нехватки места.

Если свободного пространства критически мало, можно начать с проверки:

Compact.exe /CompactOS:query

А затем, при необходимости, включить режим:

Compact.exe /CompactOS:always

Подробные ограничения и таблицы с результатами измерений опубликованы в документации Microsoft.

✔ Код — журнал о технологиях https://t.me/kodjournal подпишитесь на наш Telegram-канал! 😎

Теги:
+1
Комментарии0

PostgreSQL WAL, fsync и p99 на NVMe: что ограничивает запись

Чтобы оценить PostgreSQL WAL, fsync и p99 на NVMe, смотреть нужно на время commit. На p99 влияют файловая система, метод синхронизации, защищённость кэша, RAID или виртуализация и профиль транзакций.

Какая операция WAL сильнее всего влияет на задержку commit?

При synchronous_commit=on задержку commit обычно определяет flush WAL на диск: PostgreSQL отвечает после локальной синхронизации. При синхронной репликации добавляется ожидание ответа standby, а блокировки, высокая загрузка CPU или сеть могут сильнее повлиять на результат и скрыть задержку накопителя.

От записи WAL до подтверждения клиенту

Задержка записи WAL PostgreSQL включает путь от WAL-буферов до диска: XLogFlush сбрасывает WAL до нужного LSN через ядро, файловую систему и контроллер. Изменённые страницы пишутся отдельно, поэтому связь с checkpoint проверяют по времени.

Какие гарантии должны оставаться одинаковыми в каждом тесте

Зафиксируйте synchronous_commit, fsync, full_page_writes, способ синхронизации, параметры монтирования и режим кэша. При fsync=off сбой повредит кластер. Сравнивайте p99 fsync на NVMe без смены гарантий.

Очереди, прошивка, температура и заполнение накопителя

Снимите nvme id-ctrl /dev/nvme0, nvme smart-log /dev/nvme0 и укажите тип подключения. Отчёт от 27 мая 2025 года: бенчмарк pg_test_fsync для PostgreSQL 16 показал 1643 мкс на fdatasync для Samsung 990 Pro с XFS и 24 мкс для Micron 7400 с PLP в другом стеке. Разница здесь между классами накопителей, а не между конкретными моделями.

Почему пиковые IOPS NVMe не предсказывают p99 fsync?

Пиковые IOPS достигаются при глубокой очереди, а синхронный WAL часто ждёт одиночный flush. Средняя пропускная способность скрывает редкие паузы кэша, прошивки или сборки мусора. При этом паспортный показатель помогает при первичном отборе, но не заменяет длительное измерение задержки fsync на том же стеке, где будет лежать pg_wal.

pg_test_fsync и fio при шаблоне, похожем на WAL

В той же файловой системе, что и pg_wal, запустите

pg_test_fsync -f /test/pgfs -s 30

затем fio на отдельном файле:

fio --name=wal --filename=/test/wal.fio --size=2G --rw=write --bs=8k --iodepth=1 --fdatasync=1 --runtime=300 --time_based --output-format=json+

Если при одинаковой нагрузке вместе растут задержка synchronous_commit и fio sync latency, проверяйте накопитель.

Как fsync проявляется в pgbench под управляемой нагрузкой

Создайте базу

pgbench -i -s 100 benc

и выполните по три 10-минутных прогона при N=1, 8 и 32:

pgbench -M prepared -c N -T 600 -l bench

По журналам рассчитайте p50, p95 и p99. Их рост вместе с задержкой fsync и очередью указывает на узкое место хранилища WAL.

Queue depth, await и редкие провалы NVMe

Параллельно снимайте iostat -x 1 и nvme smart-log. Рост await и aqu-sz вместе с пиками commit latency указывает на очередь. Но похожую картину даёт checkpoint, поэтому сопоставляйте метрики по времени и фиксируйте wal_sync_method.

Как правильно интерпретировать pg_test_fsync?

1. Сравнивайте методы на файловой системе будущего pg_wal.

2. Читайте полный вывод вместе с условиями теста.

3. Сверяйте результаты с pgbench и мониторингом: микротест не предсказывает p99 commit.

Что меняет профиль записи, а что меняет гарантию

При групповом commit один flush обслуживает несколько транзакций, поэтому throughput и queue depth меняются с конкуренцией. wal_sync_method выбирают по результатам теста. synchronous_commit=off грозит потерей подтверждённых транзакций: это другая гарантия сохранности, а не настройка производительности.

Как перевести измерения в требование к хранилищу

Например, SLO допускает до 1% транзакций дольше 10 мс и до 30 секунд непрерывного нарушения. Тест проводят при рабочем заполнении. После смены прошивки, файловой системы или хоста снова проверяют tail latency.

Хранилище выбирают по p99 commit при тех же гарантиях сохранности. PostgreSQL WAL, fsync и p99 на NVMe сопоставляют по времени: pg_test_fsync измеряет flush, pgbench его эффект, а iostat – состояние очереди.

Теги:
+3
Комментарии0

170+ бесплатных AI-моделей для кодинга собрали в одной CLI-тулзе

Если вы постоянно переключаетесь между OpenCode, OpenClaw, Qwen Code, Cline, Xcode и другими AI-инструментами для разработки, есть проект, который заметно упрощает выбор модели.

free-coding-models собирает каталог из 170+ бесплатных и условно-бесплатных моделей от более чем 20 провайдеров и проверяет их работоспособность прямо в реальном времени.

Главная фишка — не просто список моделей. Утилита параллельно отправляет проверки, показывает текущую задержку, стабильность и статус модели, а затем позволяет выбрать подходящий вариант и сразу прописать его в конфигурации используемого coding-агента.

Что умеет free-coding-models

В терминальном интерфейсе можно увидеть актуальную картину по доступным моделям и:

  • сортировать их по скорости и стабильности;

  • фильтровать по провайдерам и уровням качества;

  • запускать AI Speed Test с реальным запросом;

  • выбирать модель и автоматически подключать её к coding-инструменту;

  • переключаться между поддерживаемыми агентами без перезапуска;

  • сохранять избранные модели;

  • использовать Smart Recommend для подбора подходящего варианта.

Причём проект поддерживает не только терминал. Есть веб-интерфейс, расширения для OpenCode и Pi, а также локальный Smart Model Router, который может автоматически переключаться между доступными моделями при сбоях.

Какие модели и провайдеры доступны

В каталоге представлены модели от NVIDIA NIM, Groq, Cerebras, Google AI Studio, Mistral, Cloudflare, OpenRouter, Alibaba DashScope и других сервисов.

Среди поддерживаемых моделей разработчики указывают Kimi K2, DeepSeek V3/V4, GPT-OSS, Qwen3, MiniMax M3, GLM, Llama 4, Gemma 4 и Devstral.

При этом «бесплатная» не означает полностью безлимитную. У каждого провайдера собственные ограничения по запросам, токенам и периодам использования. Более того, постоянные health-check запросы с API-ключом могут расходовать доступную квоту.

Как попробовать

Для установки достаточно Node.js 18+ и одной команды:

npm install -g free-coding-models

После запуска free-coding-models утилита предложит добавить API-ключ. Можно начать даже с одного провайдера, а остальные подключать позже.

Исходный код и подробная инструкция доступны в репозитории free-coding-models на GitHub.

По сути, это удобный вариант для тех, кто не хочет вручную перебирать десятки AI-моделей: утилита сама показывает, что сейчас доступно и насколько стабильно оно работает, а затем помогает подключить выбранную модель к инструменту разработки.

Код — журнал о технологиях — подпишитесь на наш Telegram-канал!

Теги:
+3
Комментарии0

«Наташа, мы всё уронили»: восстанавливаем виртуальную инфраструктуру с zVirt DR

Привет! 27 августа в 11:00 приглашаем на вебинар Orion soft по аварийному восстановлению инфрасттруктуры с помощью механизма Disaster Recovery в zVirt.

Отказ оборудования, электропитания или целой площадки может привести к длительной недоступности критически важных ИТ-сервисов. Ручное восстановление усложняет ситуацию: требует времени и не гарантирует правильную последовательность запуска систем.

На вебинаре разберем, как с помощью DR в расширенной версии zVirt организовать аварийное восстановление виртуальной инфраструктуры на резервной площадке. Покажем настройку программной и аппаратной репликации, подготовку плана аварийного восстановления и его запуск при недоступности основной площадки.

Что в программе?

- Подготовка инфраструктуры и развертывание компонентов DR

- Настройка программной репликации средствами zVirt DR и аппаратной репликации на базе СХД YADRO TATLIN.UNIFIED

- Развертывание и подключение виртуальных машин к контуру защиты

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

- Live-demo: моделирование недоступности основной площадки и восстановления ВМ на резервной инфраструктуре 

Участники увидят практический сценарий работы с DR в платформе виртуализации zVirt — от настройки репликации до аварийного восстановления — и узнают, как заранее подготовленный DR-план помогает сократить число ручных операций при переключении виртуальной инфраструктуры на резервную площадку.

Присоединяйтесь! Регистрация открыта по ссылке.

Теги:
+6
Комментарии0

Привет, Хабр!

Я хотел бы рассказать о моем главном проекте - операционная система. Заранее прошу сильно не судить, это моя первая статья на хабаре :)

Операционной системе я дал название FuturaOS. Она является проприетарной ос с собственной файловой системой, оконным менеджером и бесконечным холстом. Несмотря на то, что проект базируется на коде ToaruOS (которая, в свою очередь, черпает вдохновение из идей UNIX), файловая система, загрузчик, экосистема приложений, графический стек и уникальные подсистемы FuturaOS разработаны с нуля и закрыты. Также база ToaruOS была очень сильно переделана.

Одна из главных фич - это Infinite Mode, бесконечный холст в духе Figma, который работает на собственном языке разметки IDSL (возможно в будущем я смогу рассказать подробнее про этот простой язык разметки). Вместо статичных обоев у нас живая солнечная система: планеты с пиксельными текстурами, орбитами, системами освещения. Причем это не просто картинка - объекты масштабируются с при зуме и двигаются вокруг Солнца на своих орбитах. На данный момент ядро поддерживает три режима работы с окнами: классический, тайлинг для продуктивности и упомянутый Infinite. Композитор построен на собственной реализации Yutani, а оконный менеджер позволяет переключаться между режимами прямо на лету, без перезагрузки сессии.

Отдельного упоминания заслуживает проделанный огромный путь по поддержке железа. Мы смогли запустить Doom и Quake через аппаратный рендеринг (DRM/KMS), хотя в самом стеке еще много работы. Порты USB 3.0 работают стабильно, а USB 2.0 находятся в разработке (как бы странно это не звучало - спустя месяцы работы у меня заработали порты SS, однако порт 2.0 на данный момент не получает питание на моем устройстве). Звуковая подсистема построена на HDA и работает. Также реализован свой загрузчик, работающий напрямую с UEFI, без GRUB и без VESA-заглушек, что дает четкий и быстрый вывод изображения без ошибок.

Ключевая особенность системы — это собственная файловая система FFS (Futura File System), которая поддерживает шифрование, Copy-on-Write и снапшоты. Это не просто абстракция над ext4, а самостоятельный проект с уникальными свойствами, как у ZFS или Btrfs, но заточенный под небольшие и быстрые устройства.

Для разработчиков у нас есть SDK, позволяющий собирать сторонние приложения, а пакеты распространяются в формате .fos. Программа установки пакетов и магазин приложений уже присутствуют, хотя ещё является незаконченной.

Сейчас самым острым вопросом остается поддержка полноценных Wi-Fi и Bluetooth адаптеров. На данный момент Wi-Fi стек работает в бета-режиме с поддержкой ряда чипсетов и уже умеет сканировать сети, но полноценное подключение к WPA2-сетям требует доработки.

Впереди у нас ещё много работы: планируется расширить поддержку ACPI, сделать мониторинг температуры и заряда батареи, а также включить кроссплатформенные жесты для тачпада и нативной поддержки USB-адаптеров

Теги:
+4
Комментарии9

Учим программирование с удовольствием и без платных занятий — обновлена огромная библиотека List of Free Learning Resources In Many Languages из множества книг и курсов:

  • Есть материалы по всем темам: от Python и алгоритмов до PHP и C#;

  • англоязычная база;

  • есть большой сегмент на русском языке;

  • регулярно обновляется;

  • при этом абсолютно бесплатно.

Теги:
+6
Комментарии0

Ближайшие события

Пройти идентификацию через ЕСИА за пару минут

Мы уже рассказывали, зачем нужно подтверждение данных владельца домена через Госуслуги — с 1 сентября без этого нельзя будет зарегистрировать, продлить и передать домены .ru, .рф и .su.

Теперь пройти идентификацию можно в панели, в разделе «Домены и SSL». Пока она доступна только для физлиц, юрлица смогут подтвердить данные после 1 сентября.

Как пройти проверку для своего домена — на карточках, а остальные кейсы собрали в документации.

Теги:
+18
Комментарии0

Сегодня обнаружил проблему с очередным обновлением от Microsoft.

Обновление KB5002903 для Excel 2016 вызывает аварийное завершение при открытии файлов xls с китайскими символами внутри.

Простое удаление этого обновления сняло проблему.

Теги:
+3
Комментарии0

Наконец-таки Microsoft решила переделать меню свойства и выполнить

Теперь они будут более красивые и работать в 3 раза быстрее из за того что теперь используется WinUI3

До этого момента когда Microsoft задумалась о этом меню выполнить и свойства были из 1995 года (созданы в 1995 но из-за темы Windows 11 выглядят еще нормально)

Теги:
+2
Комментарии3

Программа Tantor JAM 2026

10 сентября (чт) в Москве особое мероприятие для всех, кто интересуется передовыми решениями в области СУБД: компании «Тантор Лабс» исполняется пять лет. Мы приглашаем разработчиков СУБД, инженеров, архитекторов, администраторов, представителей заказчиков и партнеров, чтобы обсудить, куда движется российская инфраструктура данных и какие технологии уже сейчас меняют привычный подход к работе с Postgres-инфраструктурой.

Программа и регистрация

  • Вадим Яценко, генеральный директор «Тантор Лабс»5 лет «Тантор Лабс».
    Российским СУБД пора играть по-крупному

  • Алексей Барган, руководитель отдела разработки Платформы Tantor
    AI-first подход в управлении и администрировании СУБД. Как меняется профессия DBA?

  • Семен Курепин, пресейл-инженер
    Платформа Tantor 7.0: Интеграция предиктивной аналитики в контур эксплуатации СУБД

  • Екатерина Мартьянова, директор по продукту Tantor XData; Михаил Сёмкин, team lead СУБД Tantor Polar
    Машина баз данных Tantor XData Gen3: постгресовый дрифт в сторону enterprise

  • Максим Милютин, руководитель группы исследований и разработки
    Нативная (без ETL) аналитика на оригинальных данных. PX-движок для Tantor Polar

  • Александр Симонов, технический руководитель направления развития 1С
    Postgres для 1С: от «работает» к «быстро» — за два года

  • Сергей Соловьев, разработчик СУБД Tantor Postgres
    Новая эпоха TDE

  • Андрей Погудин, инженер
    Защита данных в Tantor Postgres

Программа и регистрация

Теги:
+5
Комментарии0

Открытый проект ffmpeg webCLI (веб-версия) для работы с видео позволяет выполнять больше 20 различных манипуляций за один клик с любыми роликами: менять размер, вырезать аудио, сжимать, конвертировать в gif или другие форматы, ускорять, миксовать, стираем вотермарки, добавлять блюр, зацикливать.

Теги:
+6
Комментарии0

12 уроков по системному администрированию: от nftables до RAID

Пока всё работает, инфраструктура редко требует пристального внимания. Настоящая проверка начинается в момент сбоя: L2-петля кладёт сеть, изменение firewall грозит потерей SSH‑доступа, место на диске заканчивается не вовремя, а по логам сложно понять, где именно возникла проблема.

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

Собрали бесплатные открытые уроки, на которых можно точечно разобрать эти темы с практикующими специалистами, задать вопросы и заодно посмотреть, как устроено обучение в OTUS.

Linux: безопасность, сервисы и хранение

  • 20 августа, 20:00. «Средства защиты в ядре Linux». Записаться

  • 26 августа, 19:00. «Nftables без потери SSH: безопасно настраиваем firewall на удаленном сервере». Записаться

  • 3 сентября, 19:00. «Первый веб‑сервер на Linux: Nginx, Apache и проверка доступности». Записаться

  • 8 сентября, 20:00. «LVM без простоя: расширение тома, перенос данных и аварийный откат через snapshot». Записаться

  • 17 сентября, 20:00. «Где Linux хранит настройки и логи: разбираем файловую структуру на практике». Записаться

  • 21 сентября, 20:00. «Типовые задачи с RAID‑массивами: создание, эксплуатация, перенос данных и восстановление». Записаться

Сети

  • 24 августа, 20:00. «Защита от петель L2: что выбрать, если STP уже не устраивает». Записаться

Windows‑инфраструктура

  • 7 сентября, 20:00. «Linux для Windows администратора за 60 минут». Записаться

  • 22 сентября, 20:00. «Топ GPO, которые помогут тебе». Записаться

Автоматизация, диагностика и высокая доступность

  • 10 сентября, 20:00. «Настройка GitLab Runners». Записаться

  • 23 сентября, 20:00. «eBPF: рентгеновское зрение для production». Записаться

  • 23 сентября, 20:00. «Узнайте, как использовать Patroni для управления высокодоступными кластерами PostgreSQL». Записаться

ЧТО ПОЧИТАТЬ ПО ТЕМЕ:

  • «Прощай, Fail2Ban: усиливаем защиту Netbird и Caddy с CrowdSec» — практический разбор защиты сервера: работа с логами, блокировка нежелательного трафика и настройка nftables. Читать на Хабре

  • «Пять проблем Bash, которые ломают скрипты в самый неудачный момент» — о типичных ошибках в Bash‑скриптах, которые могут проявиться уже при эксплуатации и автоматизации системных задач. Читать на Хабре

  • «Ищем петли и шторма в L2 сети» — как диагностировать L2-петли, broadcast‑штормы и MAC flapping, найти проблемный порт и восстановить работу сети. Читать на Хабре

Больше открытых уроков по инфраструктуре и смежным направлениям собрали в дайджесте.

Теги:
+3
Комментарии0

NUMA и топология CCD Ryzen 9 9950X: как размещение vCPU влияет на задержки.

NUMA и топология CCD Ryzen 9 9950X не равнозначны: гость видит NUMA-схему, но не границы L3. Сравнивать нужно размещение vCPU на одной VM внутри CCD, между CCD и без pinning. Результат зависит от нагрузки, BIOS, ядра, QEMU и SMT.

Как определить, какие vCPU находятся на одном CCD?

Сопоставьте логические CPU с ядрами и SMT-сиблингами, затем найдите группы общего L3-кэша. Каждый CCD объединяет восемь ядер с общим L3, номера CPU зависят от хоста, поэтому проверяйте shared_cpu_list. Запишите BIOS, микрокод, ядро и governor.

lscpu -e=CPU,CORE,SOCKET,NODE,CACHE
grep -H . /sys/devices/system/cpu/cpu*/cache/index3/shared_cpu_list

Границы CCD измеримы: в открытом наборе для 9950X с AGESA 1.2.0.2 средняя задержка CAS через общую строку кэша составила 22,4 нс внутри CCD и 79,5 нс между CCD, тогда как numactl границу не покажет.

От физических ядер к vCPU, emulatorpin и vNUMA

vcpupin связывает vCPU с CPU хоста, но не трогает остальные потоки VM: эмулятор QEMU и IOThread закрепляются отдельно. NUMA node гостя должен отражать домен памяти, а не границу L3, иначе межчиплетная задержка смешается с доступом к удалённой RAM.

virsh vcpupin vm-latency
virsh emulatorpin vm-latency
virsh numatune vm-latency

Компактный CCD, разнесённые CCD и свободное планирование

Сравните одну VM в трёх конфигурациях: внутри одного L3, между CCD и без vcpupin. Число vCPU и RAM не меняйте, пиннинг задавайте по физическим ядрам, SMT проверяйте отдельно.

Насколько размещение между CCD увеличивает задержку?

Универсальной прибавки нет: результат зависит от общих данных, синхронизации, памяти и миграций. Сравнивайте одну нагрузку на одном хосте, сохраняя p50, p95, p99 и разброс. Core-to-core тест измеряет обмен между CCD, а не p99 приложения.

Как не принять boost, нагрев или соседнюю VM за эффект CCD

Прогрейте VM, фиксируйте частоту, температуру и %st: performance не удерживает частоту на Ryzen. Чередуйте схемы A–B–C–C–B–A и записывайте фоновые задачи. vNUMA должна совпадать с доменами памяти хоста.

Связь задержки с миграциями, кэш-промахами и удалённой памятью

Возьмите приложение с общей памятью или синхронизацией и микротест обмена. Перед серией проверьте pinning в libvirt и память QEMU, затем снимайте context switches, миграции и NUMA faults. Для cache-misses нужен vPMU. Нормируйте счётчики: рост вместе с p99 причину не доказывает.

perf stat -e context-switches,cpu-migrations,cache-misses \
   -- ./test
numastat -p "$(pgrep -fo 'guest=vm-latency')"

Когда пиннинг vCPU улучшает p99?

1. Рабочие потоки часто обращаются к общим данным.

2. Без pinning они мигрируют между группами L3.

3. p99 снижается без потери throughput и роста %st.

Где компактность помогает, а где ограничивает параллелизм

Сведите три схемы в таблицу: медиана p99 по повторам и доверительный интервал разницы. Если интервал пересекает ноль, результат в пределах погрешности. Задачам с независимыми потоками компактность ничего не даёт: обмена между ядрами почти нет, а привязка сужает выбор планировщика.

Как превратить топологию 9950X в правило эксплуатации

До теста задайте порог, например снижение p99 на 10% без потери ops/s. В XML подставьте cpuset и узел.

<vcpu>2</vcpu>
<iothreads>1</iothreads>
<cputune>
 <vcpupin vcpu='0' cpuset='0'/>
 <vcpupin vcpu='1' cpuset='1'/>
 <emulatorpin cpuset='2'/>
 <iothreadpin iothread='1' cpuset='3'/>
</cputune>
<numatune><memory mode='strict' nodeset='0'/></numatune>

Закрепляйте vCPU внутри CCD только если улучшение p99 воспроизводится в повторных прогонах. Если throughput падает или p99 не меняется, оставьте свободное планирование. Топология задаёт гипотезу, решение зависит от VM.

Теги:
+4
Комментарии0
1
23 ...