Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]

Выпуск CRIU 4.3, системы для сохранения и восстановления состояния процессов в Linux

20.10.2026 08:52 (MSK)

После 11 месяцев разработки опубликован выпуск инструментария CRIU 4.3 (Checkpoint and Restore In Userspace), предназначенного для сохранения и восстановления процессов в пространстве пользователя. Инструментарий позволяет сохранить состояние одного или группы процессов, а затем возобновить работу с сохранённой позиции, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений. Код проекта написан на языке Си и распространяется под лицензией GPLv2. CRIU применяется в таких системах управления контейнерами, как OpenVZ, LXC/LXD и Docker. Необходимые для работы CRIU изменения включены в основной состав ядра Linux.

Из областей применения технологии CRIU отмечается обеспечение перезагрузки ОС без нарушения непрерывности выполнения длительно выполняемых процессов, Live-миграция изолированных контейнеров, ускорение запуска медленных процессов (можно начать работу с состояния, сохранённого после инициализации), проведение обновлений ядра без перезапуска сервисов, периодическое сохранение состояния длительно выполняемых вычислительных задач для возобновления работы в случае аварийного завершения, балансировка нагрузки на узлы в кластерах, дублирование процессов на другую машину (fork на удалённую систему), создание снапшотов пользовательских приложений в процессе работы для их анализа на другой системе или на случай если потребуется отменить дальнейшие действия в программе.

В новом выпуске:

  • Реализована возможность сжатия блоков и страниц памяти с использованием алгоритма LZ4 и многопоточной распаковкой.
  • Повышена производительность благодаря задействованию асинхронного ввода/вывода (AIO) при восстановлении страниц VMA (Virtual Memory Area ), новому методу остановки задач без применения аппаратных точек останова и распараллеливанию восстановления memfd и анонимной разделяемой памяти.
  • Добавлена поддержка расширения ARM64 GCS (Guarded Control Stack), обеспечивающего аппаратную защиту адресов возврата из функций. После передачи управления функции, адреса возврата сохраняются процессором не только в обычном стеке, но и в отдельном теневом стеке, который не может быть изменён напрямую. Перед выходом из функции адрес возврата извлекается из теневого стека и сверяется с адресом возврата из основного стека.
  • Добавлен бэкенд для сохранения состояния API драйвера NVIDIA CUDA.
  • Обеспечено восстановление маппинга GPU.
  • Для драйвера amdgpu реализовано сохранение и восстановление состояния буферов подсистемы DRM (Direct Rendering Manager) и файловых дескрипторов DMA-BUF.
  • Добавлены команды для сжатия и распаковки образов памяти в offline-режиме.
  • Добавлена поддержка сохранения и восстановления информации о привязке UID-идентификаторов к сетевым сокетам.
  • Добавлена опция "--image-io-mode" для записи и чтения образов страниц памяти в режиме O_DIRECT (в обход страничного кэша).


  1. Главная ссылка к новости (https://github.com/checkpoint-...)
  2. OpenNews: Выпуск CRIU 4.2, системы для сохранения и восстановления состояния процессов в Linux
  3. OpenNews: Linux Foundation представил containerd 1.0, runtime для изолированных контейнеров
  4. OpenNews: Для ядра Linux развивается система распределённого выполнения потоков Popcorn
  5. OpenNews: Выпуск инструментариев для управления контейнерами LXC 7.0 и LXD 6.8
  6. OpenNews: Google развивает систему перезагрузки ядра без остановки работы устройств
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66509-criu
Ключевые слова: criu
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:08, 20/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/–
    А вот это интересно, программы на вейланде уже можно сохранять? Когда-то очень давно обещали добавить возможность восстановления графичиских программ для вейланда.
     
     
  • 2.7, Angel_in_Prada (ok), 10:10, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/–
    Увы, нет. Для Wayland пока умеют сохранять только иллюзию «безопасного и готового к десктопу» стандарта. А чтобы восстановить графическую сессию после обычного падения композитора — это, видимо, придётся ждать Wayland 2.0. До системных крашей руки у архитекторов ещё лет 15 не дойдут, им сейчас важнее пиксели у курсора выравнивать.
     
     
  • 3.9, Аноним (9), 10:26, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > Wayland 2.0

    Вернутся к X или WinAPI.

     
     
  • 4.21, Аноним (21), 15:04, 20/10/2026 Скрыто ботом-модератором     [к модератору]
  • +/–
     
  • 4.23, Аноним (23), 15:24, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    >Вернутся к X или WinAPI.

    Думаю, WinAPI - это Wayland 3.1. До этого придётся ещё от ini-файлов отойти и заменить их на бинарную конфигурацию навроде dconf, но с кустами LOCAL_MACHINE и LOCAL_USER.

     
     
  • 5.24, Аноним (23), 15:26, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Учитывая весь зоопарк конфигураций под Wayland, пришпандорить LOCAL_USER/LOCAL_MACHINE в wlroots или в протокол надо уже сегодня, кстати.
     
  • 3.10, Аноним (10), 10:32, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • –8 +/–
    Кажется у любителя некроиксов подгорает)

    >  после обычного падения композитора

    Ну, для исков падение композера это обычное дело, как и получение рута злоумышленником.
    К счастью в вейланде есть возможность выбирать - разные проекты, разные языки.

     
     
  • 4.12, Аноним (12), 10:35, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/–
    Вейленд сырая подделка, которая ничего не может нормально сделать. Только языки выбирает и проекты...
     
  • 4.18, Аноним (18), 14:50, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    > как и получение рута злоумышленником

    Как и в Вяленде тоже самое. Написан он всё на том же C, а серьёзным поиском CVEшек в нём пока никто не озадачился.

     
     
  • 5.22, Аноним (22), 15:11, 20/10/2026 Скрыто ботом-модератором     [к модератору]
  • +/–
     
  • 4.42, Angel_in_Prada (ok), 20:57, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    >  Ну, для исков падение композера это обычное дело

    В X11 композитор (например, picom) — это отдельный непривилегированный клиент. Если он падает, на полсекунды моргает прозрачность, композитор перезапускается, а все открытые программы продолжают работать как ни в чём не бывало.
    В Wayland композитор совмещён с сервером. Если он падает — рвётся сокет, и все твои запущенные программы закрываются с потерей данных.
    И раз уж ты решил залезть в эту тему, вопрос: где в Wayland штатный механизм восстановления графической сессии после падения композитора? А, блин, извини, хрень спросил, так как его же нет.

    >  как и получение рута злоумышленником.

    Сказку про «рут через Иксы» передай обратно в 2014 год. Rootless Xorg (работающий от обычного непривилегированного пользователя) по умолчанию работает уже больше десяти лет.

    >  К счастью в вейланде есть возможность выбирать - разные проекты, разные языки.

    Ты всерьёз пытаешься замазать архитектурную проблему мантрой «зато можно выбрать композитор на Rust»?
    Объясняю на пальцах: на каком бы языке ни был написан композитор (хоть на C++, хоть на Rust, хоть на Zig), в Wayland он держит сокет клиентов. Если этот процесс завершается (по ошибке логики, OOM-киллером или сбоем драйвера) — сокет умирает, а вместе с ним умирают и все открытые программы. И как твой конкурс языков программирования решает проблему отсутствия стандартного механизма сохранения и восстановления клиентской сессии? Единственное что даёт язык в данном случае, так это то на каком языке упадёт Wayland.

     
  • 3.31, oficsu (ok), 17:30, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    > А чтобы восстановить графическую сессию после обычного падения композитора — это, видимо, придётся ждать Wayland 2.0

    В kwin_wayland уже как много лет реализовано — compositor handoffs. Qt-приложения прекрасно восстанавливаются после восстановления композитора. В GTK фичу поддержать не захотели. Как и любую другую полезную фичу, впрочем

     
     
  • 4.34, Аноним (34), 17:55, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > В GTK фичу поддержать не захотели

    Т.е. сохранением занимается конкретный тулкит, а не вейленд... Ясно.

     
  • 4.43, Angel_in_Prada (ok), 21:03, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    В Wayland этого нет, зато в KWin запилили. Очередной успех модульной архитектуры: стандарт не умеет, реализация костылит, приложения молятся.
     
  • 2.8, ано_нис (?), 10:10, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/–
    Проблема в самом вейленде, его протокол надо модифицировать для таких вещей
     
     
  • 3.11, Аноним (12), 10:33, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Он же уже готов для десктопа? Опять что-ли надули?
     
     
  • 4.19, Аноним (18), 14:52, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Всегда почти готов.
     
  • 3.13, Аноним (1), 10:44, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Окна же научили переподключать при перезапуске композитора вейланда, а теперь и восстанавливать позиции (раньше все окна отправлялись на 1 рабочий стол). Это было одно из важных преимеществ иксов -- иксы перезапускаются гораздо реже оконных менеджеров.
     
  • 3.28, Аноним (28), 16:32, 20/10/2026 Скрыто ботом-модератором     [к модератору]
  • +/–
     

  • 1.2, Андрей999 (?), 09:18, 20/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/–
    Интересно про сохранение сетевых соединений. Это типа пока сервер их помнит, клиент после восстановления может продолжить как ни в чём не бывало?
     
     
  • 2.3, User (??), 09:30, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Это для разного рода миграций между железками - если уложились в таймаут то "а вот и не было ничего!"
     
     
  • 3.6, Аноним (1), 09:33, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Если говорить о сокетах, если есть логика, что делать при обрыве соединения, то восстановление -- вполне штатная ситуация.
     
     
  • 4.14, User (??), 10:45, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Ну, с одной стороны "да" - а с другой над теми сокетами еще сто-о-оолько слоев и даже если все они все нормально реализовали (На что я бы закладываться не стал), то пачка переинициализации какого-нибудь SSL может в моменте совершенно лишнюю нагрузку подкинуть.  
    Оно тебе надо? Оно тебе не надо...
     
  • 3.35, Аноним (34), 17:58, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > если уложились в таймаут

    Там это, если с другой железки окажется другой сетевой маршрут, то новый маршрут ничего про соединение не знает, а поэтому все пакеты дропнутся.

     
  • 2.4, Аноним (1), 09:30, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Это пока у сервера таймауты не отвалятся. Никто не заметит разницы, тем более, с тех пор, как сабж научили восстанавливать процессы под теми же идентификаторами.
     
     
  • 3.26, Ivan_83 (ok), 16:12, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Это если таймауты там есть.
    У SSH нормальная практика выключить кипалив и дать соединению спокойно переживать длительные отключения.
    Это всякие вебсервера имеют жёсткие таймауты ибо там куча неавторизованных соединений от которых только DoS и жди.
     
  • 3.36, Аноним (34), 18:01, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > у сервера таймауты

    Между сервером и клиентом есть ещё и СЕТЬ, промежуточные узлы которой тоже кое-что хранят. И если маршрут поменяется...

     
     
  • 4.41, Ivan_83 (ok), 18:28, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Если маршрут поменяется - это будет интимной проблемой сети но не конечных хостов.
     
  • 2.25, Ivan_83 (ok), 16:10, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Наверное оно восстанавливает не только PID процессов но и состояние всех файловых дескрипторов включая сокеты.

    Если с другой стороны сокета данные не слали (и успели подтвердить получение всего) и keep alive выключен и по пути нет фаера/ната то такое соединение по времени ни чем не ограничено.

     
     
  • 3.37, Аноним (34), 18:03, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > и по пути нет фаера/ната

    Много знаете прямых линков без маршрутизаторов? Ну, кроме подкроватного локалхоста.

     
     
  • 4.39, Ivan_83 (ok), 18:05, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Маршрутизатор перебрасывает пакеты, он не отслеживает состояние.
    Так что по сути схема работает даже через инет если оба хоста имеют белые IP адреса.
     
  • 2.27, Аноним (27), 16:14, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    На эмуляторах это уже давно стандарт, тыкнул save, а потом тыкай load сколько хочешь, бесшовно в том же самом месте в туже секунду.

    Но скорей всего тяжёлые игрушки которые по 16гб памяти занимают так шустро делать не смогут, если конечно у вас не pcie5nvme-10000/9000mb

     
     
  • 3.38, Аноним (34), 18:05, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > а потом тыкай load сколько хочешь

    Это годится разве что для локального тетриса.

     

  • 1.15, Аноним (15), 10:56, 20/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    а можно этим сохраняться и загружаться в игрушечках в любых местах?
     
     
  • 2.16, ryoken (ok), 11:39, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Соаздается впечатление "из пушки по воробьям" :). Поправьте, если ошибаюсь.
     
     
  • 3.17, Аноним (17), 11:58, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    ошибаешься, какая разница в гуи тыкать 100500 кнопок чтобы при нажатии финальной получить что надо, или в игре бежать до босса.

    а по сути вопроса ответ - нет, там огромное число ограничений, даже контейнеры и живая миграция это миф, который работает у полутора землекопов

     
     
  • 4.20, Аноним (18), 14:57, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    В игрушечках бегают не до босса, а от босса. Сохранение состояния надо сразу вешать на кнопочку "Начальник идёт".
     
     
  • 5.29, Аноним (29), 17:08, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    > Начальник идёт

    Воспитательница идёт.

     

  • 1.30, Аноним (29), 17:10, 20/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/–
    Можно, конечно же, придумать тысячу причин, почему это может быть нужно. Но лучше всего проектировать чтобы можно было обойтись без этого. Тем более в 2026, когда асинхронность уже никого не пугает, кроме совсем замшелых.
     
  • 1.32, Аноним (34), 17:47, 20/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    > на другом сервере без разрыва уже установленных сетевых соединений

    Это как?! Другая сторона вместе с маршрутизаторами и трансатлантическими коммутаторами будут три года ждать и хранить соединение апнутым, пока восстановится состояние закрытой проги?

     
     
  • 2.33, Аноним (34), 17:52, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    P.S. Вот ситуация: прога послала запрос серверу, сервер начал отвечать, пришёл первый пакет проге, и тут её зашатдаунили с "сохранением состояния". А пакеты от сервера идут и идут... Понятно же, что когда прогу разбудят с "загрузкой состояния", линк уже на стопяцот раз скурвится с потерей посланных пакетов.
     
  • 2.40, Аноним (1), 18:22, 20/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Чёт тебе стоит погуглить за OSI.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг: