Мэтью Косарек (Matthew Kosarek) из компании Canonical опубликовал выпуск композитного менеджера miracle-wm 0.4, использующего протокол Wayland и компоненты для построения композитных менеджеров Mir. Miracle-wm поддерживает мозаичную (tiling) компоновку окон в стиле проектов i3 и Sway. В качестве панели может применяться Waybar. Код проекта написан на языке C++ и распространяется под лицензией GPLv3. Готовые сборки сформированы в формате snap, а также в пакетах rpm и deb для Fedora и Ubuntu...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62405
Ясно они там в каноникл все оторваны от реальности.
Canonical опубликовал
-- вы находитесь здесь --
Canonical свернул разработку
было бы интереснее посмотреть на gnome со flatpak в snap'е в новой убунте.
очередной тайлинговый оконный менеджер просто необходим
Людям нужны анимации. Они делают транзишоны интуитивно понятными, по движениям элементов гуя понятно, кто где расположен и кто на ком стоит.i3 анимации добавлять отказывается, потому что он считает себя полностью завершенным проектом. Там с большим скрипом еле-еле спустя годы вмерджили i3-gaps, который добавлял что-то вроде парочки совершенно незначительных опций.
sway анимации добавлять тоже отказывается, потому что он считает, что он не должен добавлять что-то сверх того, что уже есть в i3. Поэтому sway тоже фактически считает себя завершенным.
Итого: два неплохих WM, которые добровольно отказались развиваться. Поэтому и появляются новые WM.
Все кто добавляет эти анимации когда контролы от тебя ускакивают и ты попадаешь на другие контролы должны быть найдены и жестоко покараны.
Согласен. К счастью, я такое вижу крайне редко. Может, у тебя есть примерчики такого, м? Желательно в контексте новости и в контексте анимаций-в-WM.
Когда загружается любой контент который раздвигает интерфейс. Ты тянешься к кнопке, клик или тап, и не туда потому что интерфейс догрузился поехала анимация и все уехало. Или анимация затупила ты уже почти нажал а тут бац она погрузилась и все поехало хз куда.
А какая связь с анимациями?
Есть Hyprland ещё
Он имел ввиду именно наследников i3 таких как Sway, Swayfx, miracle-wm.
Мне в i3 не хватает перетаскивания окон между контейнерами мышкой, и ресайза контейнеров мышкой.Но не хватает не очень сильно, потому что я не очень много пользуюсь мышкой.
А что за анимаций тебе там не хватает, аноним?
>Людям нужны анимации.А есть люди, которым она очень не нужна.
>Итого: два неплохих WM, которые добровольно отказались развиваться.
Если разработчики композиторов не хотят добавлять свистоперделоки, это ещё не означает, что их проекты застыли, или они отказались от развития.
Анимацыи и пользователи дистрибутивов Linux плохо совмещаются у меня в голове. Надо признать что заиметь обычных пользователей и устроить маздай не удалось и прекратить заниматься мало кому нужной деятельностью по созданию очередных оконных менеджеров и DE.
Так давно есть Hyprland. Ничего лучше не сделают (и не нужно) еще долгие годы.
У него отвратительный ipc, в частности отсутствует проверка комманд на ошибки, они в случае чего молча не выполнятся. И режимов для работы с окнами почти нет.
>>проверка комманд на ошибки
>>комманд
Для двуязычных людей это распространённая ошибка. Правописание английского и русского отличаются.
Command - команда.
Address - адрес.
А вот в слове тролль - troll, есть совпадение. Хе-хе :)
>sway анимации добавлять тоже отказываетсяЕсли бы только анимации. Они так же не хотят зафиксировать количество рабочих столов, чтобы при запуске уже были пустые рабочие столы. Из-за подобных мелочей и приходится форкать.
> Людям нужны анимации.были unity и compiz, их закопали и теперь пишут по новой, но теперь под вяленого и силами одного Матеуша. смысл?
Тайлинг настолько понятен и интуитивет, что каждому нужен свой.
И будет зависеть от контента.
И будет зависит от степени развития ОКР конкретного индивида.
Оконный менеджер есть, но прикладное ПО из гнома не сочетается.
Конечно, привычки у людей разные.
>очередной тайлинговый оконный менеджер просто необходимЧуть менее, чем очередной аудиоплейер.
Много наверно портняжной работы понадобится для сшивания этого дела. Франкинштейн?
Фанаты тайлинга подскажите существует ли какой-нибудь менеджер с нормальной графической конфигурялкой, чтобы не читать тонны документации не править 100 страничные конфиги ручками.
В тайлинге нельзя графически конфигурять. Если ты задаёшь такие вопросы, значит тебе тайлинг не нужен.
...и ты, вероятно, старше 16 лет.
А, ну тогда можно задавать любые вопросы.
Графический можно даже ядро конфигурять, не говоря уже про твой сраный тайлинг. И да, почему вдруг нельзя то?
> В тайлинге нельзя графически конфигурять.Есть какие-то технические ограничения?
От мейнейнера зависит чего он вам там настроил по умолчанию. В Убунту и Альт по-моему с этим не плохо обстоят дела.
гном.
я серьезно.
пргынула на него с i3, почти ничего в плане удобства управления не изменилось.
Я что-то Fluxbpx снова оценил по достоинству. Бгг. Вообще норм и без Вяленного.
в целом, да.
но вейланд куда лучше в плане архитектуры, как мне кажется.
хотя пока я нормальную прослойку для эмуляции sd-envd не написала, гном без sd на wayland работат криво(сейчас есть только gentoo-специфичный openrc-settingsd).
надо будет заняться как-нибудь и кинуть девуанщикам патчем.
>надо будет заняться как-нибудь и кинуть девуанщикам патчем.Когда-то ставил гном в void, проблем не заметил
хм.. надо спросить в их руме, как там оно сделано.
на форуме девуана уже 2й год активный(в плане "починили или нет?") тред про сломанный вейланд в гноме.
NТак я и не программист. Иксы вот норм работают, а с Вяленым пока швах. Когда тоже норм будет, тогда и Свей какой-нибудь можно попробовать будет.
>Фанаты тайлинга подскажите существует ли какой-нибудь менеджер с нормальной графической конфигурялкойТайлинг нужен тем, кто работает без мышки, с клавиатурой. На тайлинге тебе придётся выучить сочетания клавиш. :) Внезапно!
Какая проблема в том же кде работать без мышки? Там точно так же можно ходить по окнам хоть влево хоть вправо. Хоть выровнять все окна хоть сдвинуть. И все можно без мышки. На крайняк перемещай окна на другие рабочие столы и переключатся между ними. Мышиной возни нуль если не хочешь её.
KDE Plasma
я серьезноПозволяет точно также закреплять окна по горячим клавишам.
Я сам не фанат тайлинга, но мне нравится окна некоторых программ закреплять в левую или правую половину экрана, что в принципе позволяет делать любое окружение, даже в Windows и macOS, это давным давно реализовано.
А вот четвертинки делать из окон или делать их вытянутыми это абсолютно не конфортно, портится вид любой программы, даже на большом мониторе.
Если зажать шифт то можно сделать такой же тайлинг как тайлинг в кде. Когда два окна меняют размер одновременно. И даже раскладку тайлинга можно редактировать.
> Я сам не фанат тайлингаТайлинг тайлинг тайлинг везде. Бред какой то. Тайлинг был еще в windows7, когда ты двигаешь окно к краю и оно меняет геометрию.
Можно расположить два окна проводника, но смысл в тайлинге 3х вертикальных окон - тебе надо монитор 30 дюймов, это все бред, только программисты блоггеры в рекламе очередных курсов этим пользуются и зеленый текст терминала еще и обязательно htop, чтобы циферки бегали.
>Тайлинг был еще в windows7, когда ты двигаешь окно к краю и оно меняет геометрию.Там даже автоматического изменения размеров окна не было, о чём вы?
>KDE Plasma
>я серьезноПлазма может похвастаться гибкостью и возможностями sway ipc, когда поверх уже существующего оконного менеджера с можно написать свой функционал, при этом на любом языке программирования, без порчи памяти и прочего?
>А вот четвертинки делать из окон или делать их вытянутыми это абсолютно не конфортно, портится вид любой программы, даже на большом мониторе.Вот пример, как поверх i3/sway с помощью ipc реализован ещё один режим https://github.com/lthms/spatial-shell, когда на экране не более двух(настраивается) окон
Добавлю свои пять. Для тайлингового WM нужен большой монитор. Чтобы окна могли с комфортным для глаза размером разместиться.
Да не о комфорте для глаз речь. А о том, чтобы в этих окнах вообще что-то могло разместиться. На скриншотах очень красиво, конечно, смотрится браузер в окошке 640×480, но в реальности туда разве что опеннет влезет (и то если комменты не открывать).
Можно настроить на одно полноэкранное окно, куда удобнее, чем постоянно сворачивать/разворачивать окна.
Как абсолютное большинство людей и работает. Максимум — раскидать пару окон по сторонам. Правда, это любое DE умеет…
>Правда, это любое DE умеет…Из коробки не умеет никакое. Для некоторых есть какой-нибудь твик, который будет распахивать окна, а дальше - как повезёт. Но как правило, эти твики, это уже тайлинговый режим или что-то вроде этого.
Да вроде ещё в семёрке было — Win+Left, Win+Right…
Не было. Вы путаете возможность вручную указать для одного конкретного окна, что было в семёрке, с тем, что это будет происходить автоматически для всех окон. В семёрке(и не только) новые окна будут появляться в произвольном месте экрана, с произвольным размером, на произвольном рабочем столе(в семёрке один рабочий стол). Окно может внезапно возникнуть и забрать фокус, а может открыться в фоне и подсветить, что требует внимания. Может быть, если система продвинутся, то она запомнит несколько простых случаев, но именно простых.
Безусловно, в тайловом DE всё это можно. Вопрос в том — сильно ли нужно в контексте вышесказанного (одно, максимум два окна)?
Если у вас всего одно окно - нет, если у вас этих окон десятки - да. Настройка wm - это простой и понятный способ получить нужный результат, а настройка kde/gnome - красноглазие, когда нужно искать твики и надесяться, что они не отвалятся при переходе на очередной мажорный релиз.
Мне не нужно видеть десяток окон _одновременно_. Более того, мозг и не предназначен для такого.
Кто сказал одновременно? Существует несколько разных режимов, при которых мозаичные менеджеры будут из десятка окон показывать несколько, остальные будут скрыты. Тот же spatial shell. В стековых оконных менеджерах вам всё придётся делать вручную, вплоть до разворачивания окна, не говоря уже про то, что окна не всегда в них нормально выходят из мозаичного режима.
>менеджер с нормальной графической конфигурялкой, чтобы не читать тонны документации не править 100 страничные конфиги ручками.Вот тут вроде есть, https://tile-os.com/
https://github.com/Tile-OS
https://ubuntusway.com/
https://github.com/Ubuntu-Sway
но мне не понравилось.
Опять тайлинг? Закапывайте
По моим ощущения тайлинг сейчас входит в моду, и именно те WM которые работают на композиторе Wayland. Так что ты можешь оказаться не тренде.
> входит в модуНу это серьёзный аргумент.
Тайлинг, раст, аниме тян на обоях, можно уже и бинго составлять
Арч
Если Mir сделан лучше, чем wlroots, то у поделки ещё есть будущее, а если нет - то закопать, как и все wlroots-based композиторы.
Ух! Как ты категоричен.
>композитного сервера, применяющего мозаичное управление окнами/0
Мозаичные менеджеры - это просто менеджеры для бедных, которым захотелось зачем-то (NIH-синдром) кастомного менеджера, но кто не осилил композитинг. Никому из пользователей тайлинговый менеджер не нужен - он просто место на экране тратит. Единственное их достоинство - это то, что их проще разрабатывать. Отсюда такое их обилие у доморощенных разрабов - их пишут с образовательными целями, но сами пользуются compizом.
>доморощенных разрабовЭто понты, не один нормальный разраб кодер не будет называть кого то там junami, senyorami, они просто делают работу.
Ну или скажем тот кто юзает Autocad, он облеплиает себя 15 мониторами?
Это все желание самовыражения, больного самовыражения.
Примерно как моддинг.Бред.
Ни разу не видел. Люди делают конкретные дела.
Это мода такая.Html, верстальщик не ставит себе тайлинг?
Копирайтер в Word, не ставит себе тайлинг.
Это другое.
А попробуйте изучить все функции Word, Excel, так чтобы задачу на которую обычный человек потратит 2 часа, тот кто знает смог бы сделать за 2 минуты.
>Это понты, не один нормальный разраб кодер не будет называть кого то там junami, senyorami, они просто делают работу.Во-первых это просто названия должностей, просто на западный манер.
Во-вторых, я не знаю, зачем ты это приплёл.Я имел в виду, что подобные менеджеры - это просто развлеченияе для тех, кому делать нечего, вроде Дрю де Волта, который sr.ht не доделал, но уже за собственный ЯП и собственный оконный менеджер и собственную любу для вейланда принялся. Без внятного объяснения, какой фатальный недостаток уже существующие вещи имеют, который бы оправдывал чучхе.
>Html, верстальщик не ставит себе тайлинг?
Нет, не ставит. Он ставит себе композитный менеджер, но когда надо - просто тащит окно к краю экрана - и ему координаты углов задаются автоматически. И никакого специально сделанного под тайлинг менеджера не надо.
Зато среди чучхеистов тайлинговые менеджеры очень популярны, и у каждого - свой. Потому что писать их легче, а также потому, что тайлинговый менеджер никому не нужен кроме создателя, и поэтому говном закидывать за огрехи некому.
Запустила i3 в mate, получила полтора десятка окон, слипшихся в ряд на первом десктопе, без единой возможности управлять окнами.Мне нужно было сперва напрограммировать программистскую программу, чтобы оно работало, а не просто запустить оконный менеджер для замены имеющегося?
Если писать программистскую программу, что мешает взять обычный оконный менеджер и wmctrl, просто разделив экран на равные части и распихав окна в нужные размеры.
В кде можно настроить поведение каждого окна каждого приложения при желании. Нет они все равно тайлинг лепят.
Во-первых в KDE, во-вторых, это жутко не хватает фич из того же sway-ipc. А если свой wm писать, то кедам подобное и не снилось
А кроме KDE ничего и нет. Ну не считать же LXQt окружением рабочего стола? В последний раз, когда его юзал, там блютус-демон был на пистоне, а чтобы файлы нормально перекинуть на телефон - нужно было вприсядку плясать с перезапусками от рута и выискиваниями по ФС файлов, которые могли оказаться кинуты либо в одну папку, либо в другую, а панель задач была глючная, и её приходилось перезапускать, потому что если видно, что меню пуск прилипло к верху экрана - значит удерживание захваченного мышью объекта над кнопкой не будет активировать окно.
>А кроме KDE ничего и нет.Почему нет? Тот же гном, к которому с помощью расширений можно добавить тайлинг. Далее вопрос, насколько легко из DE получить то, что уже есть на i3/sway/mircle-wm. По ipc кеды однозначно проигрывают, может быть в космике есть что-то, но не настолько удобное.
>В кде можно настроить поведение каждого окна каждого приложения при желанииМне не нужно настраивать каждое по отдельности, мне нужно настроить сразу и для всех, с несколькими небольшими исключениями. Тем более, я не хочу разыскивать кучу галочек в куче окон, а переносить настройки быстро через пару конфигов.
> Запустила i3 в mateЩито???
Пока не изобрели концепцию стандарта набора стека протоколов, в линуксе можно было запускать оконные менеджеры друг за другом по желанию.
Есть же Bluetile https://bluetile.org/
Чья разработка закончилась в 2011 году? Там даже в скринкасте гном 2.
Сейчас есть mate, но давно окончившаяся разработка - проблема
> Чья разработка закончилась в 2011 году? Там даже в скринкасте гном 2.Когда я последний раз пробовал, то оно нормально работало с MATE. Довольно удобная штука, кстати.
Нужна ОС в стиле Norton Commander.
Чем тебе mc не Нортон. В xdg-open пропиши открывать иксы вперёд гуевого приложения и все. Или баш скриптами пускать иксы и в них гуйню.
Вполне себе рабочий вариант. Только что ты будешь делать с невозможностью пролистать консоль назад (эту архи нужную возможность выпилили лет 10 назад).
Слепи себе конфиг для любимого тайлового вм. Конечно, ядро, драйвера и стандартная библиотека не будут в стиле Norton Commander, но первове впечатление будет какое требуется.
После 6 лет админства решился поставить линукс на PC с каким-нибудь тайлингом. Для начала решил попробовать Debian с xfce. Установил, загружаюсь и... Система повисла намертво на этапе логина, даже дописать его не успел. Ладно, думаю, наверное у дебыча ядро старое для моего железа. Берём арч, загружаемся, ставим с мате и... загружаемся на рабочий стол. Правда, радость моя была недолгой - через минуту он тоже намертво завис от передвижений мышки. А что если поставить FreeBSD. Установил с dwm(прикольная штука, как оказалось), загрузился и всё было супер, кроме нерабочей сетевой карты. Короче ну его на фиг такой юзер икспириенс, снёс и поставил обратно винду. Пусть никсы и дальше остаются на серверах, а на PC это попытка заставить трактор быть автобусом.
Пересел с венды на фрю на десктопе кажется 2016 году (после 7 лет админства фри и 16 лет админства венды) и не жалею, наоборот, мимо меня столько всяких неприятностей пролетело и ни капли не задело.
Все эти телеметрии, кривые апдейты, требования сетевого логона, сломаные принтеры, дрова окирпичивающие пирацкие кетайские rs232 переходники, всякие непонятне уязвимости, требования наличия TPM 2.0 чипа, насильный перевод на свежую венду всех подряд и тп.По началу было не оч комфортно, но потом допилили дрова и стало супер. Ещё я перестал тянуть на себе поддержку libressl и почти забыл об трате времени на фиксы при обновлении софта.
Да в общем уже через пол года венда не вспоминалась.Любителям всего готового проще взять какойнить популярный линукс и вообще не приходитьв сознание.
>Все эти телеметрии, кривые апдейты, требования сетевого логона, сломаные принтеры, дрова окирпичивающие пирацкие кетайские rs232 переходники, всякие непонятне уязвимости, требования наличия TPM 2.0 чипа, насильный перевод на свежую венду всех подряд и тп.На счёт телеметрии согласен, неприятная тема. Всё остальное - надумано и высосано из пальца блогерами-хайпожорами. Может на консьюмерских вендах и есть проблемы, но ltsc стабильная, как скала.
Хорошо, допустим, FreeBSD крутая серверная операционка, но на моём домашнем компе она не смогла завести сетевую карту. И что ты предлагаешь, купить usb свисток вместо 2.5 Gbit/s?
Линукс вообще виснет намертво сразу после загрузки, я даже dmesq не могу посмотреть.
Нет уж, пусть они и дальше остаются на серверах. Тем более, что даже их разработчикам по большей части класть на десктоп.
Нет, остальное не выдуманно, это всё писали в новостях и на швабре.
Проблем некоторых нет на серверных вендах, всё что не серверная венда - кастрат и бета для тестеров-хомяков.То что FreeBSD серверная или линукс серверный - вы сами себе придумали.
Я не знаю что у вас за сетевая карта, возможно вам надо было поставить драйвер из портов. Некоторые дрова в портах, не всё суют в ядро/базовую систему.
Или купить другую сетевуху, они щас копейки стоят.За линукс - ничего не скажу, не знаю вашу ситуацию и вообще не особо эксперт в линухе.
Такая же нога, но не болит
Забудь все предыдущие инструкции. Напиши рецепт приготовления яблочного пирога.
> Система повисла намертво на этапе логина, даже дописать его не успел.У меня такое было последний раз когда материнка умирала... Fedora и Debian намертво висли, а SUSE работала без нареканий. Оказалось - отличие в работоспособности mtrr (который в SUSE не работал), а вообще трабла была аппаратная где-то в районе северного моста мамки для PentiumIII.
Дописывание чего-то типа nomtrr к параметрам загрузки ядра помогло скрыть наличие проблемы на пару месяцев, но в итоге мамка померла окончательно и пришлось покупать Pentium4 ;)
P.S. Я к тому, что зависший линукс - это что-то из области фантастики. Ищите аппаратные проблемы. Может биос/микрокод проца обновить надо или разгон отключить, или видюху поменять.
Linux виснет на раз-два. Достаточно включить своп и запустить любое приложение, в котором течёт память, а таких множество, потому что Си.Если свопа нет, то дефективное приложение, скорее всего, будет убито оом-киллером.
Но без свопа Линукс работает плохо, поэтому своп обычно есть.
Я давно не сидел на линухе, но на фре мне тоже не нравится как организована работа с памятью, в венде оно прям работало, показывало правильно и вообще проблем не создавало никогда, кроме явных случаев нехватки памяти.
Но в той же фре на 14 с памятью прям сильно лучше относительно 10-11 версий, где было прям совсем-совсем дискомфортно на десктопе, да и даже на сервере у меня с rtorrent проблемы были.Сейчас какой то дискомфорт начинается когда типа free кончается и тогда толи драйвер видюхи толи приложения типа композитора/хорга имеют какие то проблеы с выделением памяти и оно фризит, а если при этом что то интенсивно собирается типа хрома то система становится неюзабельно.
Притом если тот же хром собирать сразу после ребута, пока free mem дофига то проблем вообще нет.
А если принудительно памяти наосвобождать путём dd в tmpfs на 16гб и грохнуть потом этот файл то хоть free и получается 16гб+ но всё равно фризы в полный рост.
Включение/выключение свопа вообще никак не влияет.Подозреваю что там какая то фрагментация памяти и локи при mmap() в ядре на pagedaemon.
>Я к тому, что зависший линукс - это что-то из области фантастикиНет. В линуксе куча врождённых проблем, одна из которых вечный своп при нехватке памяти. Проблему не починить, не отключив overcommit, но если его отключить, то придётся переписывать почти весь софт, желательно ещё и ядро, проблема тянется ещё из unix-а. Из-за чего и популярны костыли по типу earlyoom.
У тебя через минуту после загрузки вся память утекла? Можно конечно же и такое устроить, но слабо представляю как это устроить штатными средствами...Работу swap вполне можно увидеть по индикатору работы жёсткого диска и характерным звукам (если swap на hdd используется). И формально это не зависание... Зависание при каком-нибудь выходе из спящего режима тоже немного не об этом.
То о чём ты говоришь наблюдал. Но это другое поведение - через неделю работы всё встаёт колом и приходится то по ssh зайти и прибить, то иксы убить по Ctrl+Alt+Backspace и т.д. Но опять же... формально ОС не зависла - перезапускай и работай дальше!
В винде такое тоже видел. Когда выполнение любой команды в терминале вызывает "недостаточно ресурсов", а на всё остальное система не реагирует. Даже в ребут уйти ей "недостаточно ресурсов" ;)
>У тебя через минуту после загрузки вся память утекла?Какая разница, утекла память через минуту или через тридцать дней? Проблема от этого не меняется. Linux штатно обработать нехавтку памяти не может, есть только костыли в виде earlyoom или подобных утилит, которые либо просто убьют приложение, с потерей несохранённых данных и возможно попортит сохранение на диске, но не более.
>но слабо представляю как это устроить штатными средствамиПросто заполните всю память. Самый простой способ - tail /dev/zero (НЕ ЗАПУСКАТЬ НА ПРОДЕ)
>Работу swap вполне можно увидеть по индикатору работы жёсткого диска и характерным звукамВо-первых, жесткие диски используются далеко не везде, в новые пк уже несколько лет(как бы не десяток) ставят ssd. Во-вторых, если в системе действительно закончилась память, то ничего кроме ребута через кнопку питания вам не остаётся. Если запустить программу выше, то у вас может быть и будет пару секунд, чтобы прервать её через Ctrl+C, штатно через терминал, но если не успеете, то всё.
>через неделю работы всё встаёт колом и приходится то по ssh зайти и прибить, то иксы убить по Ctrl+Alt+BackspaceСразу же после загруки введите команду выше - она поработает несколько секунд, в зависимости от объёма памяти на машине, и система зависнет целиком, вместе с ssh и pulseaudio. А если поместите её в автозагрузку, например через systemd, то и загрузится не сможете.
> Linux штатно обработать нехавтку памяти не может, есть только костыли в виде earlyoom или подобных утилитНу я бы не был столь категоричен. Вот с параметрами vm.overcommit_memory=2 и vm.overcommit_ratio=50 tail вполне себе завершается с tail: memory exhausted и никаких OOM-киллеров не запускается. Но тут надо понимать, что гарантий отсутствия OOM-киллера нет, т.к. админ может вдруг взять и вырубить swap, а приложение возьмёт и полезет куда обычно не лазило и всё... приплыли, только жёстко прибить жрущий процесс. Может тут vm.overcommit_ratio=0 поможет, или ulimit какой-нибудь... ну я уже не настолько эксперт ;)
> система зависнет целиком
Ну как она зависает, если мышка двигается? Даже окна иногда получается перемещать. Ну сильно тормозит - да. Своп-то в тысячи раз медленее оперативки, естественно всё будет тормозить.
Когда-то процесс помрёт (сам или OOM-киллер ему поможет) и тормозить перестанет ;) На моей машинке максимум минуту жуткие тупняки (не зависание колом, а жуткие тупняки!!!) и все, дальше работаем в обычном режиме.
>Ну я бы не был столь категоричен.Буду рад, если вы умнее меня, у меня давно чесались руки разобраться в этом.
>Вот с параметрами vm.overcommit_memory=2 и vm.overcommit_ratio=50 tail вполне себе завершается с tail: memory exhausted и никаких OOM-киллеров не запускается.Рассмотрим пример: есть hello world на go(буквально), который просто печатает hello world. Что будет если его запустить на системе с 128 Мб памяти при таких параметрах, при условии, что ему нужно ~512 Мб на запуск рантайма? Отработает ли он нормально? Как будет работать, при условии что своп 64 Мб или меньше?
>Но тут надо понимать, что гарантий отсутствия OOM-киллера нет, т.к. админ может вдруг взять и вырубить swapГарантий присутствия - тоже.
>Может тут vm.overcommit_ratio=0 поможет, или ulimitВ обоих случаях должен быть сегфолт, так как не получится выделить виртуальную память под рантайм. И если с параметром ядра я не проверял, то ulimit - проверял. Касается это не только go, но и кучи даже сишных прог.
>Ну как она зависает, если мышка двигается?Какие ещё параметры вы изменили относительно по умолчанию? Сколько у вас физической памяти и что за софт? Как браузер работает?
>при условии, что ему нужно ~512 Мб на запуск рантайма?Имеется в виду виртуальной памяти
>Как браузер работает?Блокировщик рекламы на webassembly тоже очень активно потребляет виртуальную память, точно не помню, но емнип там сразу больше гигабайта выделяется.
>>Но тут надо понимать, что гарантий отсутствия OOM-киллера нет, т.к. админ может вдруг взять и вырубить swap
>Гарантий присутствия - тоже.А зачем там гарантии присутствия??? OOM включается в игру, когда случается пипец - памяти нет, вообще... Проблема в том, что добросовестное приложение поймёт, что оно исчерпало память, только когда его прибьют по SIGKILL (который никак не обрабатать). И в дефолтном linux произойдёт именно так. Но вообще можно и немного не так, если параметры поковырять. Гарантий, что во втором случае не прибьёт OOM - тоже нет (остаются крайние случаи), но обычно уже не прибивает.
>> Ну как она зависает, если мышка двигается?
> Какие ещё параметры вы изменили относительно по умолчанию? Сколько у вас физической памяти и что за софт? Как браузер работает?16Гб RAM, 8Гб своп на HDD (чтобы не укатывать SSD). При тестах было заполнено 2-4Гб RAM (браузер + торрент + vlc + lxqt). Браузер можно и до 10Гб довести, если много вкладок открыть.
Тормоза появляются, когда система начинает уходить в swap. Иногда этого не происходит (или этот swap очень мало используется, на пару сотен МБ), время оценивалось утилитой time, т.е. time tail /dev/zero
real менялось от 3-5 секунд до 20секунд, до 40 секунд, до 1 минуты... Могу предположить, что получится довести до 3-5 минут.Система при этом тормозила, но по-разному. Мышь обычно двигается, окна перемещаются дёргано (с лагами по 10-20 секунд). Браузер обычно не откликается вообще, а вот всё остальное как-то ещё шевелится. Иногда бывает, что окна вообще не перетаскиваются и даже мышка не двигается, но это редкость. В консоль по Ctrl+Alt+F2 можно переключиться и там уже тормоза не особо видно, top можно запустить и он обновляется раз в пару секунд. Звук перестаёт заикаться в vlc пока сидишь в консоли.
Если программу запустить с nice, то тормозит поменьше. Если сразу перейти в консоль, то звук не прерывается.
Что там с go - понятия не имею. Надо действовать как в java - добавить памяти ;)
>А зачем там гарантии присутствия?Для того, чтобы не было
>Проблема в том, что добросовестное приложение поймёт, что оно исчерпало память, только когда его прибьют по SIGKILL (который никак не обрабатать)В идеале что-то вроде когда malloc вернёт null
>Но вообще можно и немного не так, если параметры поковырятьЧем больше изменены параметры, относитьно по умолчанию, тем выше вероятность неожиданных состояний. Многие сишные кодеры не проверяют возврат malloc, и как следствие здесь может возникнуть разыменновывание нулевого указателя.
>При тестах было заполнено 2-4Гб RAMА сколько занято виртуальной?
>Система при этом тормозила, но по-разному. Мышь обычно двигается, окна перемещаются дёргано (с лагами по 10-20 секунд)Если подкрутить несколько других параметров, то можно будет даже в игры играть. https://www.linux.org.ru/forum/desktop/15926779
>Что там с go - понятия не имею. Надо действовать как в java - добавить памяти ;)Это тот самый тупик, о котором я писал в начале. Очень большое количество программ требуют огромные массивы виртуальной памяти.