Известна (https://lkml.org/lkml/2019/8/4/15) проблема, которая донимает множество людей на протяжении многих лет и которую можно воспроизвести меньше, чем за несколько минут на последней версии ядра Linux 5.2.6. Все параметры ядра установлены в значения по умолчанию.
Шаги:
- Загружаемся с параметром mem=4G
- Выключаем поддержку swap (sudo swapoff -a)
- Запускаем любой веб браузер, например, Chrome/Chromium или/и Firefox
- Начинаем открывать вкладки с сайтами и смотрим как уменьшается объём свободной памяти
Как только возникает ситуация, что новая вкладка требует больше оперативной памяти, чем доступно, система практически полностью зависает. Вы даже с трудом сможете двигать курсором мыши. Индикатор жёсткого диска будет моргать без остановки (мне не ясно почему). Вы не сможете запустить новые приложения или закрыть текущие запущенные.
Этот маленький кризис может продолжаться минуты или дольше. Я предполагаю, что система не так должна себя вести в этой ситуации. Я думаю, что что-то нужно сделать, чтобы избежать такие «зависания».
Я почти уверен, что можно поменять некоторые параметры sysctl, чтобы избежать подобную ситуацию, но что-то подсказывает, что это можно сделать по умолчанию для всех, потому что нетехнические пользователи, столкнувшись с такой проблемой, просто откажутся от использования Linux и им будет не того, чтобы искать решения в Google.
В комментариях (https://www.reddit.com/r/linux/comments/cmg48b/lets_talk_abo.../) на Reddit некоторые пользователи предлагают включить swap, но это не решает проблему, а только её отодвигает и часто усугубляет. В качестве возможного решения в будущем может быть привлечена появившаяся в ядре 4.20 (https://www.opennet.ru/opennews/art.shtml?num=49842) и улучшенная в ядре 5.2 (https://www.opennet.ru/opennews/art.shtml?num=51051) подсистема PSI (Pressure Stall Information), которая позволяет анализировать информацию о времени ожидания получения различных ресурсов (CPU, память, ввод/вывод). Данная возможность даёт возможность организовать отслеживание нехватки памяти на ранней стадии, определять источник проблем и завершать неважные приложения, не доводя до появления заметных пользователю эффектов.
URL: https://lkml.org/lkml/2019/8/4/15
Новость: https://www.opennet.ru/opennews/art.shtml?num=51231
Напоминаю, что использование юзерспейсного обработчика нехватки памяти - это хорошая практика.Обзор основных демонов.
Earlyoom: simple, stable, tiny. VmRSS меньше мегабайта, нагрузка на процессор околонулевая. С релиза 1.3 стал очень надежен (исправлено возможное убийство невиновных). Лучший выбор для домохозяек, которым не нужны лишние настройки, а нужна хорошая работа из коробки. Рекомендовал бы его в качестве дефолтного обработчика нехватки памяти для колясок.
Nohang: явная и очень гибкая конфигурация. Десятки параметров настройки в конфиге. Подробная печать свойств завершаемого процесса. Печать таблицы процессов со свойствами всех процессов перед корректирующим действием. Возможность реакции на PSI (pressure stall information, https://lwn.net/Articles/759658/) с выбором произвольной метрики и сигруппы для мониторинга. Возможность кастомизации корректирующих действий: отправка жертве любого сигнала (помимо SIGTERM/SIGKILL) или выполнение произвольной команды. Возможность тонкого влияния на badness процесса путем сопоставления его name, cmdline, cgroup, exe realpath c заданным регулярным выражением. Уведомления о низком уровне памяти (произвольной командой или через notify-send). Минусы: мало документации; в данный момент не вполне стабилизирован: требует некоторой доработки и стабилизации.
oomd: многообещающий, но пока недоступен для домохозяек: https://github.com/facebookincubator/oomd/issues/61 (не смог заставить его работать; требует больших танцев). Заметно грузит проц.
Крутой обзор, лайк. А что из представленного корректно работает с zram?
Все корректно работают. Но только nohang может реагировать на mem_used_zram если включить это в конфиге.Вам эта опция не понадобится если zram disksize не очень большой или сжимаемые данные неплохо сжимаются (а они обычно неплохо сжимаются, например в 3-4 раза если забивать память вкладками браузеров).
вопрос не лично к вам, но я не понимаю почему нельзя эту же функциональность организовать на уровне ядра. ведь ядро должно следить за ресурсами, а не userspace.
В каких-то дистрибутивах эта хорошая практика имеет место из коробки?
Пока ни в каких. Однако в deb10+/ubuntu1804+ эта практика легко включается через sudo apt install earlyoom (в дебиане протухший пакет, забирайте лучше свежий с гитхаба).Пришло время написать петицию к дистростроителям с требованием организовать юзерспейсную обработку нехватки памяти по умолчанию.
Удалось заставить oomd работать.
Output: http://okturing.com/src/6737/body
(корректирующее действие в самом конце)
Как-то ж уже вроде тонну раз обсуждалось. Можно вырубить overcommit, чтобы было как в винде. Можно включить себе SysRq, чтобы не ждать по два часа и сразу вызывать OOM, можно подтюнить другие настройки в sysctl, чтобы сгладить эффект. Можно установить себе какой-нибудь earlyoom и вообще не думать на эту тему. Можно принудительно закрепить нужные вещи в ОЗУ (такие как sshd, pam-модули и т.п.), чтобы доступность сервера никуда не пропадала. Можно настроить себе zram, чтобы ОЗУ стало чуточку больше, грубо говоря. Можно ещё много чего, наверняка.Совершенно не понимаю, почему это вынесено в новости :)
P.S.: default-ные настройки являются server-aware, а на серверах overcommit нужен. На desktop-ах linux занимает лишь 2%, поэтому не вижу смысла жертвовать настройками для сервера, ради очень спорной настройки для десктопа.
P.P.S.: На desktop-е уж лучше просто какой-нибудь earlyoom устанавливать.
Ну, вообще в дистрибутивах могли бы и покрутить. И пару альтернативных вариантов OOM в ядро добавить не помешало бы, чтобы прибивало всё же наиболее прожорливый процесс. Но в принципе - проблема, конечно, высосана из пальца людьми, которые хотят кнопку "сделай за..сь" с функцией телепатии.
Но есть же всякие earyoomm и не надо ничего в ядро пихать.
> На desktop-ах linux занимает лишь 2%может по этому и занимает 2% что проблемы с таким поведением.
А если такого поведения не будет, то сразу станет 30%?
И правильно. На домашних компах Винда прекрасно работает!
вот и я о том-же.
Теоретически продумать модели настроек поведения для десктопа и сервера - не сложно и отконфигурировать по одной кнопке, как в винде: там можно задать приоритет либо фоновым задачам, либо десктопным.
> Windows will never overcommit memory. As a result on my PC unless I dedicate a substantial (over 20%) fraction of my drive to swap (most of which will never, ever be touched) I will 'run out of RAM' far before even half of the physical RAM in my PC has been used. This seems extremely wasteful.Прекрасно работает…
> using a unlimited swap file can quickly reach hard issues after 64gb of swap use. At that point mallocs in the windows ui fail (timouts or something?), that apparently are not meant to, eg fonts from shutdown menu missing, the system being unable to shutdown ect.
…просто замечательно.
При отключенном свопе винда начинает килять процессы при потреблении памяти в 85-90%, но никак не при "half of the physical RAM".
> При отключенном свопе винда начинает килять процессы при потреблении памяти в 85-90%,
> но никак не при "half of the physical RAM".Подождите, какое ещё киляние? В соседнем треде про отсутствие оверкоммита в винде врут, значит?
Да и «I will 'run out of RAM'» в процитированном уж вряд ли про убийство процессов.
Обычное киляние. Открываешь хром/фф/безразницы, начинаешь открывать вкладки, при подходе к границе свежеоткрытые вкладки делают "Опаньки". Предупреждение "I will 'run out of RAM'" я видел очень давно, с чем это связано, сказать не могу.
> Обычное киляние. Открываешь хром/фф/безразницы, начинаешь открывать вкладки, при подходе
> к границе свежеоткрытые вкладки делают "Опаньки".Ну, эээ, в случае хрома я видел ровно такое поведение («Опаньки» в качестве содержимого новой вкладки) и под линуксом с оверкоммитом, причём ещё и при наличии гигабайта-иного свободной памяти. Отчего ему там голову сносило, правда, не знаю. В общем, надо переходить на более стабильные примеры, чай, не всё время ж в браузере сидим.
Я, к сожалению, такого поведения не видел. Система уходила в своп, а потом из могилы не доносилось ни шороха, только непрестанные всполохи жесткого диска и пару раз дернувшийся на прощание курсор мыши. Дебиан без твиков.
если чо - в твоей любимой фре еще хуже, поскольку можно пойти лесом при _пустом_ свопе, и запросе меньшем, чем его размер. А можно не пойти.
В зависимости от погоды на Марсе на послезавтра и в каком знаке проходил Сатурн две недели назад.Предсказуемость? Неее, не слышали.
>А если такого поведения не будет, то сразу станет 30%?Все 70%
На серваках - Линукс, дома - Винда. Ставь Винду и не парься!
У меня дома на стационарном и ноутбуке Gentoo и я не парюсь.
согласен, ubuntu сейчас начинает себя вести как винда - быстро установил и со временем начинаются какие-то проблемы (особенно после обновления при подключенных сторонних репозиториях). а в gentoo - ты сначала прочитал wiki по приложению или технологии, которую собираешься использовать и, уже имея базовые знания как они работают, выполняешь их установку и настройку. в случае непредвиденных ситуаций - уже знаешь чего ожидать и где искать документацию.
Линукс не для домашнего использования.
Линус для программистов делал ядро, а не для вендо-админов, которые только переустанавливать умеют и мыши менять.> На серваках - Линукс, дома - Винда.
Слив засчитан
давно он его для них делал. Теперь он делает для денег, а денег с вас хрен соберешь.
Приходится объявлять "год линукса на десктопе" с любимого мака.
> На desktop-ах linux занимает лишь 2%, поэтому не вижу смысла жертвовать настройками для сервера, ради очень спорной настройки для десктопа.Ну, то есть, сначала мы кричим, что линукс готов для десктопа и каждая домохозяйка справится, а потом, когда при самой банальной проблеме, могущей возникнуть на любом десктопе, всё это встаёт колом - начинаем рассуждать о том, зачем нам жертвовать настройками для сервера на каких-то там десктопах.
Логика.
> сначала мы кричим, что линукс готов для десктопа и каждая домохозяйка справитсяЛично я так никогда не считал. Когда-то было время я тупо не знал справится ли с ним домохозяйка (и надеялся, что справится; и агитировал, что нужно пробовать), но когда начал экспериментировать сам, то осознал, что не справляется условная домохозяйка. Не знаю кого вы пытаетесь уличить.
А вот у меня уже несколько домохозяек справились. Всё работает годами, вот мы и не трогаем, кроме апдейтов огнелиса, хрениума, скупого и чего-то там ещё...
Отдельные сборки с разными настройками для серваков и десктопов противоречат чьей-то религии?
Зачем отдельные сборки? Можно отдельные sysctl.conf для серваков и десктопов.
А какая разница, какие там дефолтные настройки в ядре?Важно, какие дефолтные настройки в дистрибутивах.
Вот вообще не понимаю, что мешает сделать в дистрибутивах типа Ubuntu какой-нибудь dpkg-reconfigure sysctl --prefer-desktop и запускать его postinstall-ом какого-нибудь метапакета desktop, зависимость на который будет у всяких ubuntu-destop.
> какой-нибудь dpkg-reconfigure sysctl --prefer-desktop и запускать его postinstall-ом какого-нибудь метапакета desktop, зависимость на который будет у всяких ubuntu-destop.Лично мне кажется более правильным решением тупо добавить какой-нибудь earlyoom в зависимости метапакета ubuntu-desktop. "Почему это до сих пор не сделано?" -- а тикет был? Если да, то давайте почитаем; если нет, то, видимо, не очень-то людям это и нужно :)
Наверное, потому что те, кому оно надо, и кто понимает, что именно надо, давно сами себе все оттюнили, а лишняя забота в стиле apple - когда ОС лучше пользователя знает, что ему нужно - им не вперлась.Такое могли бы пушить идеологи-популяризаторы линукса-на-десктопе, но у идеологов с матчастью как раз часто не очень.
Убунту и гном во много повторяют эпл, а вы опять про свой LFS (домохозяйкам и не нужный)
> Как-то ж уже вроде тонну раз обсуждалось. Можно вырубить overcommit, чтобы было
> как в винде. Можно включить себе SysRq, чтобы не ждать по
> два часа и сразу вызывать OOM, можно подтюнить другие настройки в
> sysctl, чтобы сгладить эффект. Можно установить себе какой-нибудь earlyoom и вообще
> не думать на эту тему. Можно принудительно закрепить нужные вещи в
> ОЗУ (такие как sshd, pam-модули и т.п.), чтобы доступность сервера никуда
> не пропадала. Можно настроить себе zram, чтобы ОЗУ стало чуточку больше,
> грубо говоря. Можно ещё много чего, наверняка.
> Совершенно не понимаю, почему это вынесено в новости :)Представьте себе среднего Васяна, который поставил Линукс. Бац, и у него всё к **** повисло. Что сделает Васян? Подумает, что Линукс - ***** и не ошибётся, и сразу заменит его на более стабильную ОС.
Речь не о ваших 150 костылях, а о стабильной работе системы по умолчанию. Слово стабильно не обозначает "стабильно не даём пользователю вообще ничего делать в течение минут 15-1500". Это означает прибиваем за приемлемое время самые жирные процессы, чтобы такое не происходило.
На LKML сейчас обсуждение как это сделать красиво и правильно, но вы его не читали, конечно.
> На LKML сейчас обсуждение как это сделать красиво и правильно, но вы его не читали, конечно.Ну да. Лично я этой проблемы давно не испытывал (и давно не интересовался). Но буду рад, почитать, если кините ссылке. И буду ещё более рад, если это причешут.
> Представьте себе среднего Васяна, который поставил Линукс. Бац, и у него всё к **** повисло. Что сделает Васян? Подумает, что Линукс - ***** и не ошибётся, и сразу заменит его на более стабильную ОС.
Да, Linux действительно не очень заточен под desktop-ы, как мне кажется. Если кому-то хочется максимально не включая мозг получить рабочий desktop, тогда нужно ставить либо специальные дистрибутивы Linux (заточенные под такие задачи), либо не ставить Linux, IMO.
Винда хорошо заточеная под десктопы.
> Да, Linux действительно не очень заточен под desktop-ыХотя казалось бы, кто мешает это сделать мейнстрим десктоп дистрибутивам, типа бубунты, федоры и т.п. Всего-то надо пару настроек поменять, да демон предустановить - и разительно поменяется впечатление от системы. Какой-нибудь третьегном вообще может это в зависимости себе вписать )
> Всего-то надо пару настроек поменятьКаждый, кто пытался - сталкивался с тем, что настроек надо поменять отнюдь не пару. Плюс, эти настройки не всегда и не везде одинаково работают. А еще проблемы могут уходить сильно вглубь ядра и системы и решить их на уровне простого васян-дистра вообще никак не получится.
Банальный пример - hibernate, который уже второе десятилетие не могут сделать нормально и стабильно работающим везде и всегда. Хотя, "десктопнее" фичи не придумать - на ноутбуках это является постоянной проблемой и головной болью.
Ну, или еще более прекрасная вещь - выдергивание неразмонтированной флешки, после чего все глючит-тупит, а потом еще и не выключается без принудительного подпихивания кнопкой power.
И таких примеров - вагон и маленькая тележка.
> выдергивание неразмонтированной флешки, после чего все глючит-тупит, а потом еще и не выключается без принудительного подпихивания кнопкой power.Или примонтированный сетевой диск, если пропала сеть.
>Банальный пример - hibernate,
>который уже второе десятилетие не могут сделать
>нормально и стабильно работающим везде и всегданеистово плюсую про гибернейт, а ещё какбэ десктоподистры искоробке неосилили до сих пор настройки лаптопов в энергосбережение и затупов с парковкой головок "всегда и везде", зато всегда при установке на лаптопы безошибочно это определют и вкорячивают геозонд, это ведь нужнее, ага!
Средний Васян поставит себе не LFS, а какую-нибудь Убунту. Соответственно, вопрос надо решать дефолтным sysctl в десктопных дистрибутивах.
>Средний Васян поставит себе не LFS,
>а какую-нибудь Убунту.Я тот самый Васян, Убунта стала жирной, ещё более глюкавой и ещё больше стала походить на винду, перешёл на дебиан, и там такая проблема есть, к слову и в убунте приходилось руками править sysctl.conf, а в дебиане и этого мало всё равно в свап лезет часто, так что проблема есть, и да, я выбирал desktop при установке.
Между убунтой и дебианом большой разницы в этом смысле быть не должно. Настройки, значит, разные.Я там оставлял ссылочку в соседней ветке, попробуйте рекомендации из нее.
Все верно. Недопустипое поведение системы и разбираться с этим никто не станет.
>Речь не о ваших 150 костылях, а о стабильной работе системы по умолчанию.Претензия не к ядру, а к дистростроителям. Какого чёрта они не устанавливают earlyoom по умолчанию?
А так ли оно надо продвигать линукс среди Васянов?
А так ли оно надо продвигать линукс?
а так ли оно надо Васянам? (ведь если продвигать, значит у них другая ОС, а значит либо винда, либо мак. маководам linux нафиг не нужен, они и так довольны, ну и пользователям винды как бы тоже)
>Представьте себе среднего Васяна, который поставил Линукс. Бац, и у него всё к **** повисло. Что сделает Васян? Подумает, что Линукс - ***** и не ошибётсА что подумает Линукс о Васяне?
А еще линукс крайне медленно работает со свопом. Пришлось решать эту проблему радикально - установить 128Гб оперативной памяти.
Похоже что так, но вроде в 5.2 ядре с эти получше. Использую 5.2.
> Похоже что так, но вроде в 5.2 ядре с эти получше. Использую
> 5.2.В 4.9 ещё лучше. https://bugzilla.kernel.org/show_bug.cgi?id=196729
Подскажите что надо крутить, откуда вы всё это узнали. ссылочки на статьи что и для чего можете опубликовать?! А то у меня схожая проблема, только система быстро лезет в своп, хотя я уже vm.swappiness=2 в /etc/sysctl.conf сделал и пофигу, всё равно начинает гадить в своп и тормозить, как-будто значение на 30-40 выставлено!
Узнали, поискав в гугле (ну или что там больше нравится).Вот например http://www.akitaonrails.com/2017/01/17/optimizing-linux-for-...
> Можно вырубить overcommit, чтобы было как в винде.Вот уточнять надо такое.
Если вырубить overcommit, то будет не просто как в венде, а как в ХР. А вот такое точно никому не надо.
Чтобы было как в венде необходимо и оверкоммит вырубить, и свопиннес зарезать, и настроить prelink+preload да так, и библиотеки не выгружать лишний раз и на уровне ДЕ/консольной-сессии определять какие приложения сейчас активные и какие фоновые, чтобы приоритеты задать и чем дальше перечисление тем дальше от реализованного функционала. В ядре-то как обычно всё есть, а в системе нету. А если система вместо зависания и стихийного убивания сообщит о своей проблеме ползователю, а если еще и мониторинг к этому прикрутить... вот тогда будет как в венде.Я лично не понимаю заем нужен оверкоммит, который потом вырежет процессы, которые ему не понравятся, в случае чего. Сам подход не понятен.
> Я лично не понимаю заем нужен оверкоммит, который потом вырежет процессы, которые ему не понравятся, в случае чего. Сам подход не понятен.Многие приложения любят просить больше памяти, чем реально потребляют. Иногда эти две чиселки отличаются в разы. А ОЗУ -- это дорогой ресурсы.
потому что по молчанию этого всего не сделано.
А ты пробовал оверкомит вырубать? При выключении параметра, говнософт аля java-based, сразу выкидывает исключение аут оф мемори. У них там при старте malloc(100500 * GB)
> Можно принудительно закрепить нужные вещи в ОЗУ (такие как sshd, pam-модули и т.п.)А как это сделать?
del
del
Я успешно решил эту проблему следующими настройками:vm.swappiness=1
vm.vfs_cache_pressure=50
vm.min_free_kbytes=1048576Плюс к этому имеется своп на ssd, куда деваются излишки. Оперативки 16 Гб.
В результате не тормозит и не подвисает никогда, хотя часто использую значительно больше памяти (виртуалки, разработка, все дела).
С параметром vm.min_free_kbytes можно поиграться: целиться нужно на размер памяти, который вряд ли кто-то захочет единовременно в условиях нехватки памяти. На другом компе у меня всего 8 Гб памяти (а задачи те же), и min_free_kbytes я поставил чуть побольше - иначе периодически сталкивался с мелкими подтормаживаниями при старте чего-то большого (но всё равно, это небо и земля по сравнению с дефолтными настройками).
> Я успешно решил эту проблему ..... Оперативки 16 Гб.Само собой решилось...
Да если бы! Мне 32 не хватает, и это даже с учётом часто пустующего в последнее время ZFS ARC :|
Решилось увеличением vm.min_free_kbytes https://bugzilla.kernel.org/show_bug.cgi?id=196729#c17
Вы проблему не решили, вы её замели под ковёр и затопили оперативой и залакировали быстрым свопом. Oнa у вас воспроизведётся так:mkdir a
mount -t ramfs ramfs ./a
dd if=/dev/urandom of=./a/b bs=1024ну или
int main(){
char *c;
while(true){
c=new char[1024];
}
return 0;
}
Строго говоря, да - я сделал так, чтобы в моих условиях проблема не воспроизводилась - на практике этого достаточно.Описанные вами условия воспроизведения - синтетические, и в реальной жизни такого практически не бывает.
Я подозреваю что на такой синтетике и макось загнётся - впрочем, интересно будет проверить, отпишусь как доберусь.
у вас много буков, вот вариант для забития ОЗУ попроще (и да, я по прежнему надеюсь что awk есть на всех системах):
awk 'BEGIN{while(1){a[b++]=1;}}'
Какой кошмар! /* в панике убегает за новыми плашками оперативы */
Она дешевая. Ставьте 128 и норм. Хватит всем
Где сейчас можно найти одну плашку 128мб?
ГБ? о_О
Ага, а ультрабук только обновлять, т.к. оперативка прям на мамку припаяена. Уже из-за нехватки RAM поменял ноут 4 гига на 8, но теперь надо на 16 переходить, опять $$$ и тяжелее килограмма с 16 гигами нет
тяжелее килограмма с 16 гигами есть =)
А вообще, не не надо было брать нетбук за 15 тыс, если есть реальная потребность в памяти.
С чего бы это. Надо - недорого и достаточно для нужного.А не очень полезных программистов потребность в памяти - пусть за меня платят.
)
Ну реально, нет софта такого супер нужного, чтобы столько памяти отводить ему. И чтобы процессор прям быстрый нужен.P.S. Есть, конечно, новации, но это ещё не на рабочих столах никак. Кроме игр.
Ну да, сперва понанимают вэбмакак и погромиздов-гомнокоддеров, из-за которых 8 гиг в ноуте не хватает, а потом они ещё смеют писать, что мне надо было ноут мощьнее и дороже брать, сталина на вас нет!
странно что легендарные суперкодеры еще на починили то же ведро и весь прочий жрущий софт, но регулярно обвиняют всех прочих кодеров в криворукости
>странно что легендарные суперкодеры
>еще на починили то же ведро и весь прочий жрущий софт,Легендарные суперкодеры не юзают омнософт и у них в консолях ничего не жрёт, почему они должны ковыряться в чужом г-мнокоде не понимаю?!
>но регулярно обвиняют всех прочих кодеров в криворукостикто-то обвиняет, кто-то нет, я же от лица возмущённого пролетариата!
Легендарный суперкодеры заняты на работе, думаю.
на 24х иногда сталкиваюсь с зависаниями по заполнению оперативки
бери 32, говорят на них норм)
Даже сейчас в среднем магазе половину ноутов продаётся с памятью припаянной к матери - удачи в добавлении плашек памяти.Расскажите как вы это делаете, а мы послушаем.
> Расскажите как вы это делаете, а мы послушаем.Болезный, чините детектор сарказма
Скорее, кто-то очень толсто троллит.
Понакупают вяких говен, а потом приходют у страдают тут. Фысь!
Уймись. Я пишу без приувеличения. У половины народа России зарплаты 5 - 20 тысяц рублей. А у 90% пинсионеров не зависимо от стажа 8000 - 15 тысяч рублей пенсия. Инвалиды тоже в районе 10 - 15 тысяч.
И то может даже и больше чем половины.
Ошибся инвалиды 8 - 15 тысяч рублей
А у второй половины - 25-90 т.р.
>У половины народа России зарплаты 5 - 20 тысяц рублей.А в Сомали еще меньше. Предлагаешь ориентироваться на самых убогих?
Здесь, кагбэ, большинство айтишники - зарплатная медиана в районе 120к находится (судя по последней статистике на хабре).
>А в Сомали еще меньше.
>Предлагаешь ориентироваться на самых убогих?
>Здесь, кагбэ, большинство айтишникиС чего взяли, я вот вижу много виндо и просто троллей?!
> - зарплатная медиана в районе 120к находитсяИнтересно как вы зарплату считаете у местных читателей/писателей
>(судя по последней статистике на хабре).Тут не хабр, и слава богу, тут действительно бОльшая часть людей разбираются в компьютерах, по крайней мере создаётся такое впечатление.
И потом, если 120к зарплата, так что? теперь обязательно постоянно деньги на ветер из-за вэбмакак и гомнокоддеров выкидывать?!
вы, вот посмотрите какую культуру они вам прививают, т.е. вчера это прерасно работало, а теперь без улучшения функционала оно работает хуже, и вы должны де сами, за свой счёт, устранить эти недостатки, а что было бы если бы вы, например, купили автомобиль вчера, а завтра по старым дорогам уже ездить нельзя, нужно тягач покупать, который жрёт больше, стоит дороже, но это только чтоб доехать из точки А в точку Б, это же нонсенс?!
а вот то что для браузеров надо периодически новый ноутбук покупать, это уже для вас норма, а ведь так было не всегда, это вам последние годы в головы вдолбили, ещё лет 10-15 назад компьютеры мощней брали и апгрейдили ради игр, 3d студий всяких, и кому скажи что надо апгрейдить проц и ОЗУ из-за страничек в интернетах, не поверили бы, с этими задачами самое старьё справлялось, а сейчас же что, такое впечатление что вэбмакаки в сговоре с производителями железа!
ну так может этой половине народа не надо пока лезть улучшать линуксы - а сперва заняться своим сортиром? - потому что это явно та самая половина, которая в XXI веке все еще бегает в -40 cpaть в дырку в полу в досчатой будке.
Не считая тех, у которых и такого нет, и они гадят за баней.А развитие современных технологий оставить тем, кто первый и второй этажи пирамиды уже освоили.
Ты считаешь людей неполноценными по праву рождения? И правда, "страна рабов, страна господ"
у нас пока не ставят штамп в паспорт "рожденный в жопе - всю жизнь не пускать в теплый сортир".Но если не повезло в ней родиться - надо прилагать усилия оттуда выбраться, а не пытаться прогнуть весь мир - все равно не получится, но мир станет только хуже.
Тогда и _только_ тогда, когда выберешься - ты сможешь явить миру полноценную замену какого-нибудь б-жественного vue.js, но жрущего килобайты, а не гигабайты, и при этом позволяющего сделать не хуже и не страшнее имеющихся поделок. Но, что-то мне подсказывает, уже не захочешь.
Судя по тебе, ты не только не выбрался, но ещё и забрался сильно поглубже дна.
Как можно назвать полноценным человека, который умеет на нижнюю половину зарплат, но хочет получать из верхней. В этом кретинизм российского (да и не только) общества: кого ни спроси, все считают себя умнее, опытнее, образованнее большинства. Но как только дело доходит до зарплаты, то все эти умные, опытные и образованные оценивают себя максимум в медианную зарплату. И возникает резонный вопрос: стоит ли к мнению этих шизофреников вообще прислушиваться.
Вот и сиди в своей квартирке 5 на 5. Только в пятерочке не забудь купить хлеба, выращенного этими самыми.
> Вот и сиди в своей квартирке 5 на 5. Только в пятерочке
> не забудь купить хлеба, выращенного этими самыми.то ли дело - простор - вышел из яранги, глядь направо - моп твою ять! Налево глять - ять твою моп! Правда, зимой жопа немного подмерзает, а летом в нее вгрызаются комары...
И ладно б оленей пас - там это неизбежная плата за сохранение культуры и наследия предков. Но он же ж такой - линуксы улучшать рвется...
> та самая половина, которая в XXI веке все еще бегает в
> -40 cpaть в дырку в полу в досчатой будке.ну я, не бегаю, а хожу
-какбудта чтота плахое?!
и не дырка, а технологическое отверстие, и не досчатая будка, а полезное сооружение для сортироваки цилиндрических шлакоблоков...
> Не считая тех, у которых и такого нет, и они гадят за
> баней.
> А развитие современных технологий оставить тем, кто первый и второй этажи пирамиды
> уже освоили.а у вас, сударь, я смотрю, налицо заносчивое пренебрежение к прослойкам населения, которое не живёт по вашим шаблонам, я бы мог вам посоветовать не тыкать палкой в берлогу возмущённому пролетариату, но...
вы, тыкайте-тыкайте, верхнеэтажный вы наш!
Не путайте квартирный образ жизни с деревенским. В деревнях в домах некуда подключать унитаз, нет водопровода как в квартирах. Воду берут или в колодцах или где-то установлена колонка. И зачем в декревне в доме унитаз? Поставить его в доме на постомент и любоватся на него с мыслями и у меня тоже есть унитаз живу почти с уддобствами как в квартире. "в дырку в полу в досчатой будке" - это норма жизни прими это. И это не Европа и Америка с катеджами и газонами - это русская деревня. А ещё из этой "дырки в будке" ведром на верёвке переодически с червями надо вычерпывать говно по мере заполнения. Я бывал в деревне знаю, жил. Пока здоровье и деньги есть не проблема в таком туалете для меня. А мытся топишь баню дровишками, носиш воду в баню.
У нормальных людей в деревне давно стоит септик.
Я не занимлся изучением этого вопроса "септик" в деревне. В деревне был давно. И сомневаюсь о том, что септик это массовое явление. Я написал отом, что такой вид туалета "в дырку в полу в досчатой будке" в деревне это нарма жизни, а не признак диградацыи или чегото плохого. Почему септики не используют массово ( а может массово используют в чём сомневаюсь ) в деревне надо смотреть в каждом конкретном случаи так же как и почему покупают дешовые ноутбуки. С зарплаты или пенсии 8 -15 тысяч рублей вообще не подрозумивается покупка ноутбука за раз. 30% - половина уходит на кварплату у людей. Даже не знаю через сколько лет можно с такой зарплаты или пенсии накопить даже на дешовый ноутбук.
Если почти не чего не есть, то наверно можно и за раз или через два месяца купить дешовый товар и с зарплаты и пенсии 8 - 15 тысяч рублей, но такой способ покупки в ущерб здоровью это плохой способ и так 15 тысяч это деньги на выжевание только чтобы быстро с голоду не умереть.
> Если почти не чего не есть, то наверно можно и за раз
> или через два месяца купить дешовый товар и с зарплаты и
> пенсии 8 - 15 тысяч рублей, но такой способ покупки в
> ущерб здоровью это плохой способ и так 15 тысяч это деньги
> на выжевание только чтобы быстро с голоду не умереть."и с зарплаты и пенсии 8 - 15 тысяч рублей" не и, а или: и с зарплаты или пенсии 8 - 15 тысяч рублей
> В деревнях в домах некуда подключать унитаз, нет водопровода как в квартирах.мои (вполне деревенские) друзья со ШриЛанки удивленно чешут чёрные репы - у них есть. (кстати, они где-то слышали, что Ру'ссиа - богатая сильная страна, и даже грозит проклятой Америке!)
И унитаз, со сливом и септиком, и водонапорный бак с электронасосом (и, кажется, даже фильтрами).
Водонагревателя, правда, обычно нет, ну там бак на солнце и так неплохо нагревается.Страна даже не третьего, а скорее четвертого мира, ага. С плотностью населения хуже московской области и совершенно без запасов нефти. Где ваше место на этой карте, догадываетесь?
Бро, в МО плотность низкая, если ты про Мск, то Мск не входит в МО
иди на площадь? не?
> иди на площадь? не?в омон и прочие охранные отряды не всех берут - требования как на самом деле в космос.
а если здоровье позволяет - то конечно, иди. Там и зарплата не шестьтыщ, и пенсия в 45 за счет тех лохов которых лупишь дубиной (и которые до пенсий по любому не доживут), вот на пенсии и будешь улучшать линуксы, как достойный член золотого миллиарда.
>> иди на площадь? не?
> в омон и прочие охранные отряды не всех берут - требования как
> на самом деле в космос.
> а если здоровье позволяет - то конечно, иди. Там и зарплата не
> шестьтыщ, и пенсия в 45 за счет тех лохов которых лупишь
> дубиной (и которые до пенсий по любому не доживут), вот на
> пенсии и будешь улучшать линуксы, как достойный член золотого миллиарда.ох уж этот майор
Так покупайте нормальные ноуты, а не дешёвый ширпотреб для просмотра вконтактика. В тех же Dell Precision или Lenovo P5* память без проблем обновляется как минимум до 32 ГБ.
> Так покупайте нормальные ноуты, а не дешёвый ширпотреб для просмотра вконтактика.
> В тех же Dell Precision или Lenovo P5* память без проблем обновляется как минимум до 32 ГБ.Вот это правильная десктопная ОС с правильными системными требованиями - не какие-то там жалкие виндовые 2GB, а настоящие пацанские 32! Всё правильно, респектую!
ты правда пробовал работать на винде с "2Gb", и открывать сотни вкладок при этом?Она в этих двух - "загружается". Не вижу проблемы, линукс тоже так может. Хотя не, не может - на такой системе будет uefi32, а мы же отовсюду повыпилили 32бита.
но тут ты можешь помочь миру стать лучше - убиться нах...прости, запилить свой клон хоть редхата хоть убунты с нормальной поддержкой 32бит, благо пакеты еще собираются, нужно только доделать поломанный установщик.
> на винде с "2Gb"Работается прекрасно. Windows 7 Starter прекрасно работает на 256 Мб ОЗУ.
> открывать сотни вкладок
Зачем? Вкладок 15 - самое то
>Windows 7 Starter прекрасно работает на 256 Мб ОЗУ.В смысле запускается?
А вообще семерка рип уже.
зочем вы тгавите? У него еще целых четыре месяца осталось, наслаждаться своим ручным стартером до превращения его в тыковку!
> Работается прекрасно. Windows 7 Starter прекрасно работает на 256 Мб ОЗУ."загружается", ага, минут всего за двадцать-тридцать.
И позволяет запустить сколько там - аж три программы, да?
Давай я тебе такой линукс вылеплю, twm, xterm, никаких тебе бэкграундов на 4k - работать будет примерно так же.
Даже, пожалуй, удастся загрузить что там... 3.28ю мазилу какую-нибудь, примерный эквивалент того ie7, и открыть в ней пресловутые 15 вкладочек с опеннетом. С неопеннетом будет пустое место, как и положено.
Мееееедленно так, и печально.
И, разумеется, своп на пару гиг не забудь создать заранее, тут тебе не винда.
> ты правда пробовал работать на винде с "2Gb", и открывать сотни вкладок при этом?Не только на винде, я и на фряхе так пробовал в своё время. И всё было гуд. Только на линуксе я сталкивался с тем, что когда заканчивается память - система вообще ничего с этим не пытается сделать. Не только прибить самое прожорливое приложение (тут еще можно поспорить насколько это адекватное решение), но и даже просто предупредить пользователя о том, что у него память заканчивается - он, представь себе, можнт об этом и не догадываться, если специально себе датчики не вывел. Представляешь, память может заканчиваться вовсе не только потому, что пользователь сотни вкладок открыл в браузере, но и, например, потому, что обновления системы в очередной раз привезли с собой утечку памяти, что с десктопным линуксом случается с завидной регулярностью. Работал человек, работал, оставил комп на ночь, утром возвращается - а система уже пузыри пускает и реагирует лишь на нажатие reset. Ты это тоже считаешь нормальным?
> а мы же отовсюду повыпилили 32бита.
Кто "мы"? Мы, Николай Вторый?
Ох уж эти форумные "выпиливатели"...> запилить свой клон хоть редхата хоть убунты с нормальной поддержкой 32бит, благо пакеты еще собираются, нужно только доделать поломанный установщик.
Остапа несло... Явно задело за какую-то болезненную тему. Ну, извини, чувак, может они еще вернут поддержку 32 бит обратно, не переживай.
"в свое время" не было никаких вкладок - у netscape4 были окна ;-)> Только на линуксе я сталкивался с тем, что когда заканчивается память - система вообще ничего с
> этим не пытается сделать.пытается, почему же не пытается - на сцену выбегает oom-killer и дает очередь в зрительный зал.
> но и даже просто предупредить пользователя
как вы представляете механизм такого предупреждения? Синий экран, как в винде95, у которой на ходу выдернули дискетку? Так оно в половине случаев висло, поскольку не то что приложения, а и системные детали плохо переносили блокировку в ядре на минуту, требуемую юзеру, чтоб сообразить что случилось и вернуть как было (а как еще-то - тут даже режим видео требовалось переключить)
Висящую в памяти (тоже небесплатную) user-level софтину, которая просто банально дергает аналог free, но имеет средства взаимодействия с юзером ? Ну так у меня есть она, zabbix называется, вон, вчера вечером прислала очередной нотифай, что джанка сожрала всю память и уже свопом радостно хрустит. Пошел, поработал oom-киллером, поругался с разработчиками - обещали все переписать на пехепе. (они еще в 18м мне это обещали, я только не помню точно - 1918, или 1800?) лимит поставить нельзя - будет падать в тех случаях, в которых сейчас работает.
> Работал человек, работал, оставил комп на ночь, утром возвращается - а система уже пузыри
> пускает и реагирует лишь на нажатие reset. Ты это тоже считаешь нормальным?ну а что тут система-то сделать могла? Звонить ему среди ночи на мобилу - "щас йапнусь, родной, сделай что-нибудь"? Ну вот жабикс и так умеет. Сбегать в лабаз купить планку памяти - пока, вроде, нет.
Нет, это не нормально, дефективый userland софт надо либо чинить, либо выбросить.Но зачем тут что-то портить в ядре - все равно непонятно.
>ну а что тут система-то сделать моглаПрибить процессы. Тебе это говорит уже который человек, а ты продолжаешь строить из себя одаренную наивностью девочку, в каждой теме пуская струю против ветра. Винда с этим справляется, фрюха справляется, линукс - встает колом.
>>ну а что тут система-то сделать могла
> Прибить процессы. Тебе это говорит уже который человек, а ты продолжаешь строить
> из себя одаренную наивностью девочку, в каждой теме пуская струю против
> ветра. Винда с этим справляется, фрюха справляется, линукс - встает колом.Это ещё с прошлого века политика пейсателей лялиха. С этим ничего нельзя сделать. Даже если вы напишете с чистого листа новую, безошибочную и самую правильную реализацию управления памятью, они её у вас не примут. Новый стандарт, все дела. У поха тоже не примут.
> Прибить процессы.спасибо, дорогой - а зачем он их поназапускал, если их можно - просто прибить?
"винда с этим справляется" - ну и брысь в свою любимую винду, которая убьет тебе недельную работу, потому что ей показалось, что тебе так будет лучше.
Так можно же периодически сохранять результаты своей работы, не ?
вручную? С автоматическим сохранением тебя при таком подходе ждет веселый сюрприз - именно в этот момент память-то израсходуется чуточку больше и....
Домашний (да и не только) пользователь не обязан следить за объемом свободной рамы и потреблением свопа. Винда ему недельную работу убьет, лол. Подбери жыр с губ - если в винде убьются результаты одной работы, то ресет ляликса из-за глухого зависания похоронит не только вкладку в хроме, где ты заполняешь ну ооооочень важную форму, но вообще все наработанное.
> пытается, почему же не пытается - на сцену выбегает oom-killer и дает очередь в зрительный зал.Это если он включен. По умолчанию - почти ни на одном десктопном линуксе он не включен. Ну а то, что закостылить можно всякое - никто и не сомневался.
>> но и даже просто предупредить пользователя
> как вы представляете механизм такого предупреждения? Синий экран, как в винде95, у которой на ходу выдернули дискетку?Уже кучу раз писали в данной теме в том числе и я - когда винде начинает не хватать памяти и свопиться не получается (отключен своп, или некуда больше его расширять) - винда начинает верещать пользователю ворнингами, что памяти нету и скоро станет худо, поэтому надо что-то закрыть, предлагая самое жирное из запущенных пользователем приложений. А когда память кончается совсем - винда его и пришибает.
Можно спорить на тему того, что пришибать приложение вместе с несохраненными данными некомильфо, но если альтернативой этому является встающая колом вся система вместе со всеми приложениями с единственным решением в виде нажатия кнопки reset - то выбор не такой уж и неочевидный.Ну и, в любом из случаев, система должна предупреждать пользователя о том, что память заканчивается, потому что десктопный пользователь про это в большинстве случаев знать не может.
> Висящую в памяти (тоже небесплатную) user-level софтину, которая просто банально дергает аналог free, но имеет средства взаимодействия с юзером ? Ну так у меня есть она, zabbix называется, вон, вчера вечером прислала очередной нотифай, что джанка сожрала всю память и уже свопом радостно хрустит.
Я, на всякий случай, напоминаю, что речь про десктопы идет...
> ну а что тут система-то сделать могла?
Убить сжирающее ресурсы приложение из юзерспейса. На мой взгляд, вставшая колом система, которую только резетом можно вывести из анабиоза - это хуже, чем просто прибитое отожравшееся приложение.
> Нет, это не нормально, дефективый userland софт надо либо чинить, либо выбросить.
ПО без ошибок - не бывает.
> Но зачем тут что-то портить в ядре - все равно непонятно.
Никто не говорит про ядро.
> Это если он включен.с каких это пор его надо как-то особенно включать?
Его и выключить-то можно только для отдельной cgroup и не вполне очевидным способом.
просто он не способен прибить "самое жирное приложение", поскольку совершенно правильно предполагает, что оно либо не виновато (у меня самым жирным является текущий модуль в mysqld, но он на 99% лежит в свопе и никогда оттуда не полезет - потому что это именно утечка, эта память на самом деле никому и никогда уже не потребуется - не надо его убивать, только хуже будет), либо оно потому столько жрет, что именно с ним юзер сейчас и работает - убить - потерять работу. И пытается угадать наиболее вероятного кандидата, за вычетом этих - не всегда удачно.
На сервере у него иногда есть еще шансы попасть в правильный экземпляр джанги, но чаще всего экземпляры плодятся быстрее чем их можно убивать, поэтому неплохим стандартом с моей точки зрения является oom_panic=1 и не выяснять, что он в этот раз прибил и можно ли продолжить работу.
>> Нет, это не нормально, дефективый userland софт надо либо чинить, либо выбросить.
> ПО без ошибок - не бывает.главное - ничего не исправлять?
> Никто не говорит про ядро.
автор этой глупости поднял бучу именно в lkml.
> На сервере у него иногда есть еще шансы попасть в правильный экземплярПовторяю, речь не про серверы. Вышибить "не то" приложение на десктопе - уж точно не хуже полного зависания компьютера. Хотя бы просто потому, что при этом не придется его резетом возвращать к жизни с ненулевым риском побить файловую систему и/или открытые файлы.
> главное - ничего не исправлять?
Каким образом я, как пользователь, могу повлиять на исправление миллионов вебсайтов, созданных гендерно небинарными разработчиками, а так же утечек памяти в ОС и программах? Посидеть на кухне и порассуждать о том, как всё в этом мире неправильно? Сомневаюсь, что это поможет.
> автор этой глупости поднял бучу именно в lkml.
Это потому, что в мире линукса, насколько я понимаю, разработчики ядра являются некоей последней инстанцией, в которую отправляют после того, как разработчики всех промежуточных узлов (васян-дистр -> DE -> базовые компоненты) перевели стрелки.
>> Нет, это не нормально, дефективый userland софт надо либо чинить, либо выбросить.
> ПО без ошибок - не бывает.Бывает. И оно, как ни странно, таки небольшого размера. Можно с высокой степенью уверенности говорить о том, например, что в ядер MINIX ошибок нет.
скоро Линус скажет, что 640 Ггб хватит всем
А в чём новость?
Ни в чём. Линукс идеален.
> А в чём новость?Опенет сообщает! На форониксе опубликована "новость". </eoi>
Почему это в главных новостях? По-моему тут какая-то ошибка.
Окей, ввиду перемещения в мини-новости, я поправлюсь: почему это вообще в новостях? =)
Похоже скорее не на новость, а на запись в бложике.
Меня больше интересует, почему это вообще пропустили в новости.
Крамола же!
> Меня больше интересует, почему это вообще пропустили в новости.Обсуждение какой-то объективно существующей проблемы в линуксе? Немедленно убрать с глаз долой! В линуксе нет проблем, слышите?! Нет!
Завтра автора найдут в канаве с перерезанным горлом.
Серьезно. Почему это в новостях? Есть же целый раздел для статей/заметок:https://www.opennet.ru/tips/sml/
И там вполне себе уместно употреблять личные местоимения первого лица, глаголы первого лица и т.д.
А в новостях ожидаешь нейтральную подачу информации.
На Reddit ~500 сообщений на тему, на Hacker News ~400, на русских сайтах (на ЛОРе есть в Talks) воняют и говорят, что всё в порядке, и проблемы нет, хотя воспроизвести её можно за пару минут.Рунет по части обсуждения Линукса превратился в чистый кал уже много лет назад.
Просто противно читать.
Проблема есть.
Но я бы не сказал, что она важная. Её легко можно закидать ОЗУ.
Выше писали про ноутбуки – тоже не проблема, у линуксов и так вечные проблемы с автономностью, и гибернациями, так что использовать линуксы на ноутбуках это уже удел совсем упорных.
А на десктопах у линуксов есть и куда более важные проблемы, которые просто не заткнёшь железом, как в этом случае...
Что там важного, в самом деле. Ну зависла система на минуту, чего такого-то. И вообще, сам дурак. Обожаю линукс-сообщество за смелые, нестандартные ходы.
> Что там важного, в самом деле. Ну зависла система на минутуНе знаю, как на минуту. У меня с концами зависало, уходя в свопинг. Что там уже чаю выпил, по парку погулял - бесполезно... Ни на что не отвечало.
Может что-то и изменилось, ибо как выше написал, просто засадил ОЗУ побольше, поэтому больше такого не наблюдал.
Добавить пямяти можно, но это не решение проблемы. Это ненормально, что ОС вместо того, чтобы прибить процесс, встает колом. Причем, это уже сколько времени продолжается. Недавно ставил KDE Neon на относительно старую машинку - 2 ядра, 2 гига. При попытке открыть FF со скайпом система завешивалась наглухо. Ну т.е. совсем наглухо. Такого поведения я не видел больше нигде - ни в винде, ни во фрюхе: без свопа процессы отстреливаются только в путь.
Больше 45 минут не выдержал, диск стало жалко, ситема зависла, а диск от такого зависания начинает работать с нагрузкой в 100%, с скоростью ~30 -50 МБ/сек на чтение все 45 минут ( линейное чтение моего HDD макс. ~160-180 МБ/сек. ) и почти ноль на запись. Это было пару лет назад на 15-17 Xu. Теперь больше пару минут не жду с таким зависанием.
Дело не в Xu. Тогда была Xu установлена.
А что такое Xu?
https://ibb.co/jvbtLW1
Кстати тут про swap, Когда зависает у меня, раздел подкачки на 80-90% пуст. Не когда небыло чтобы зависло даже с половиной заполненном разделе подкачки, а это всего 2,5 Гб или 4гб оперативной памяти, раздел подкачки 4 Гб SSD. Я всегда размечаю диск с разделом подкачки.
> Кстати тут про swap, Когда зависает у меня, раздел подкачки на 80-90%
> пуст.значит, это какая-то совершенно другая проблема, отдельная от страданий криворучек.
Ищите ее для начала в битой памяти и перегреве (не обязательно именно проца - перегревшийся мост приведет к тому же самому, а throttling в ем не предусмотрен)При 100% уверенности что дело не в гнилом железе - там ниже инструкция, как и что нажать чтобы собрать дополнительную информацию, уже была.
Я бы ставил на память. Вы заполняете ее до критичного уровня - и наступаете на мигающие битики.
С ядром 5.2 и разделом подкачки на SSD стало лучше. Теперь я не проверяю сколько операцыонная система будет в зависании максимально. Если пару минут не хватает, чтобы сбросить информацыю на раздел подкачки на SSD, OC попрежнему находится на HDD, делаю resest в виртуальной машине или закрываю виртуальную машину. https://www.opennet.ru/~%E1%CE%CF%CE... С переносом на SSD раздела подкачки не изменило поведение HDD с ОС во время зависания.
Не та ссылка. Эта https://www.opennet.ru/openforum/vsluhforumID3/118068.html#570
Контралёр на мат. плате SATA300
Что??? Неужели я это читаю про linux а не про FreeBSD? На последней, кстати, нет проблем при нехватке памяти - killer просто отстрелит этот процесс, и система жива и работоспособна, и даже ругнется админу. Но увы, на современном ноуте freebsd не прижился у меня, а linux просто выбешивает при нехватке памяти. Приходится перезагружать с завидной регулярностью. Если че - да, ноут с 4GB распаянной памяти.
поставьте zram, причем принудительно в конфиге ему 6ГБ. Станет существенно полегче. Офисные машины у меня так десятками живут.
Если там впаяных 4 гига, то заодно подозреваю слабый процессор, которому от вечного zrama может стать только хуже.
Даже с zram система хорошо подвисает - все зависит от степени загруженности свопа. Приходилось и по 10м ожидать пока система хоть на что-то отреагирует :)
Если у тебя серьёзно 4 гига памяти то ставь вот этот дистр https://github.com/Griggorii/Cinnamon-Budgie-Linux-OS-11-bas...
Стоит у меня три гига памяти и не моргает , избавляйся побыстрее от проблемы
> На последней, кстати, нет проблем при нехватке памяти - killer просто отстрелит этот процесс, и
> система жива и работоспособнаи нaxep никому не нужна, потому что вместе с отстреленным хромом накрылась недозаполненная форма (и далеко не всегда после перезапуска тебя пустят ее заполнять с прежнего места)
проблема нехватки памяти решается ТОЛЬКО добавлением памяти (хотя бы - в своп)
то что дятел-автор не понимает тривиальных вещей, да еще и не в состоянии осознать, что в божественной десяточке проблемы (ему) не видно только потому, что она умеет создать своп по мере необходимости (даже если дятел запретит ей это делать - _все_равно_ он будет создан, временный) - ему невдомек, не может сообразить от чего же это постоянно тарахтит диск (ну понятен, он же альтернативно-одаренный, ему высокие идеи предлагать только, а не почитать что по теме) - это пол-беды.
Хуже что найдутся другие дятлы, и запилят (как обычно, неотключаемый) улучшизм на эту тему. Планировщики уже изгадили погоней за "реакцией на действия пользователя". Теперь еще и изгадят управление памятью.
Все ради заботы об альтернативно-одаренных, "а то они уйдут на проклятую винду".
Господи, сделай так, чтобы они на нее ВСЕ свалили уже, наконец, забрав с собой альтернативно-одаренных разработчиков. "А еще лучше - чтобы просто сдохли." (c)Директор АЭС из "АтомногоИвана".
Проблема не в нехватке памяти, а в реакции системы на эту нехватку. Вы уж совсем умахались подменять понятия.
> Проблема не в нехватке памяти, а в реакции системы на эту нехватку.что дожна сделать "правильно реагирующая" система - высунуть табличку "замените прокладку между креслом и клавиатурой!" и повиснуть?
НЕТ памяти, НЕТ ЕЕ и взять - негде. Потому что дятел не обеспечил эту возможность.
А прокладка-то тут причём? Всё, что вмещается в ОЗУ - надо иметь возможность запускать, всё что пухнет - прибивать. Вот мне на моём безвентиляторном сяоми с 4ГБ ОЗУ вполне комфортно работается. Но иногда earlyoom прибивает попухшие вкладки хромого и потёкший шлак(недавно стал раза в 2 меньше жрать). Аутглюк ещё метров до 700 дотекал когда-то.
> А прокладка-то тут причём?потому что у нее мог бы быть интеллект, но его - нет. Она дуб-дубом.
> Всё, что вмещается в ОЗУ - надо иметь возможность запускать, всё что пухнет - прибивать.ок, там ниже рецепт как сделать, чтобы твой хром сразу прибился, еще до запуска.
Стабильно.Все остальное требует человеческого разума - хотя бы в режиме "мляааа, что за хрень уже пол-свопа заняла? А, это? Так,save as, close...ну даааа, небыстро оно из свопа вылазит...фуу, вроде освободили - работаем дальше, ничего не потеряли".
> твой хром сразу прибился, еще до запуска.И до открытия в нём всякой жирноты... Ну, это и без рецепта сделать можно. Если его просто не запускать, например.
А вот последняя строка твоего сообщения - вообще на пьяный bread похожа. Она точно не требует человеческого разума.
> И до открытия в нём всякой жирноты...нет. система _позволяет_ ее открыть, убедиться что сделал это зря, ресурсов твоей рухляди не хватит, и закрыть обратно вовремя - если ты не будешь ей мешать своим "интеллектом", который у тебя всем хуже чем у робота. В "новости" описано именно то, как изо всех сил - мешать.
Новость и замечания в обсуждениях как раз о том, что до "закрыть обратно вовремя" уже не доходит. Я лично это наблюдал не так давно: потекли (как оказалось) иксы, а я, будучи в полной уверенности, что всё тип-топ, запустил FF. И всё. Когда начало тупить, FF физически нельзя было закрыть - его окно еще не появилось, а потом система встала колом так, что мышка не ездила. Иди проспись.
Так можно и до проблем с переполнением буферов докопаться. "Покупайте процессоры от <kamen'&co.>! В них 128 Мб L1 кэша!"
Помню, та же семёрочка при нехватке памяти убивала Aero и вывешивала balloon, что не хватает оперативки, закройте что-нибудь.
> Помню, та же семёрочка при нехватке памяти убивала Aero и вывешивала balloon,
> что не хватает оперативки, закройте что-нибудь.если убить иксы, в общем-то, вывешивать уже ничего, скорее всего, не понадобится, память освободилась. От твоей работы в том числе.
В остальных случаях либо предупреждение будет вылезать в случаях, когда медленно, с trashing'ом но и так бы справились, либо вылезалке не хватит памяти отрисовать окошко со списком, и она получит по башке oom-killer'ом.
> что дожна сделать "правильно реагирующая" система - высунуть табличкуТипа того.
macOS вывешивает табличку «памяти уже перебрало. Вот тебе список приложений, закрывай что-то».
>> На последней, кстати, нет проблем при нехватке памяти - killer просто отстрелит этот процесс, и
>> система жива и работоспособнаОбсуждается как раз проблема, что до OOMKiller'a дело не доходит.
> и нaxep никому не нужна, потому что вместе с отстреленным хромом накрылась
> недозаполненная форма (и далеко не всегда после перезапуска тебя пустят ее
> заполнять с прежнего места)
> проблема нехватки памяти решается ТОЛЬКО добавлением памяти (хотя бы - в своп)А что происходит, когда и swap кончается?
> то что дятел-автор не понимает тривиальных вещей, да еще и не в
> состоянии осознать, что в божественной десяточке проблемы (ему) не видно только
> потому, что она умеет создать своп по мере необходимости (даже если
> дятел запретит ей это делать - _все_равно_ он будет создан, временный)
> - ему невдомек, не может сообразить от чего же это постоянно
> тарахтит диск (ну понятен, он же альтернативно-одаренный, ему высокие идеи предлагать
> только, а не почитать что по теме) - это пол-беды.Десяточка отлично работает в этой ситуации без swap'а. Проверено. И MacOS тоже. Столько откровенно ложных высказываний на opennet давно в одной теме не видел. Просто праздник какой-то.
Swap, если вручную в 10ке выключен, никогда системой использоваться и включаться не будет.
> Хуже что найдутся другие дятлы, и запилят (как обычно, неотключаемый) улучшизм на
> эту тему. Планировщики уже изгадили погоней за "реакцией на действия пользователя".
> Теперь еще и изгадят управление памятью.
> Все ради заботы об альтернативно-одаренных, "а то они уйдут на проклятую винду".
> Господи, сделай так, чтобы они на нее ВСЕ свалили уже, наконец, забрав
> с собой альтернативно-одаренных разработчиков. "А еще лучше - чтобы просто сдохли."
> (c)Директор АЭС из "АтомногоИвана".Много буков не в тему.
> А что происходит, когда и swap кончается?идиот получает то, что он заслужил, что же еще?
> Десяточка отлично работает в этой ситуации без swap'а. Проверено.
> Swap, если вручную в 10ке выключен, никогда системой использоваться и включаться не будет.конечно же, она берет память прямо в /dev/astr..простите, у нее ASTRL:
ну в общем, и "когда своп кончается" и "у десяточки нет свопа и памяти всегда хватает" - весьма актуальный показатель уровня вашего интеллекта
Ну ты то хоть на свою божественную полностью перешло? Не забывай чётко следуя методичке, кричать об этом на каждом углу. Ты ведь неальтернативно-одарённый жэж.> Планировщики уже изгадили погоней за "реакцией на действия пользователя"
Это, кстати, было очень полезным улучшением для меня. Я доволен.
> Теперь еще и изгадят управление памятью.
Если так же, как и планировщики - то я только за. А пока-что - earlyoom позволяет мне на 4ГБ работать и жить без единого тормоза. Юзерспейс или ядро? - пофиг. Главное - работает, и работает хорошо.
> проблема нехватки памяти решается ТОЛЬКО добавлением памяти (хотя бы - в своп)
нет.
> дятел-автор
нет. В отличии от тебя.
Вы опять всё местами попутали. Альтернативно-одарённые не они! Они - мейнстрим. А вот вы.. :)
Так по факту. Винда не виснет, дефолтный Линукс виснет. Пользователю обязательно знать, кто там чего и как создаёт? Пользователю нужно работать со своим прикладным софтом. С которым у Линукс опять же беда ;)
Всё поминаю Федорчука, который в 2000-х размышлял на тему - а нужны ли Линуксу пользователи? И вроде как склонялся к тому, что Линукс слишком крут, чтобы его тормозили какие-то там пользователи. Типа, не коммитишь, иди на* отсюда ;) Вот так поюзаешь Линукс, почитаешь боевые комменты на опенете и подумаешь, а ведь и правда, Линуксу простые пользователи не нужны.
Вот и сидите дальше с 2% на десктопе.
Кстати, вокруг вас сейчас сгущаются корпоративные дяди, вот они может быть и выведут когда-нибудь Линукс-десктоп в люди. Но только не "сообщество" - это точно.
> Так по факту. Винда не виснетсосед вася напел по телефону?
Винда повиснет точно так же, и даже хуже (у нее очень неэффективный механизм свопинга, с идеями на десять лет старше чем в линуксе), как только не останется места ни в персистентном свопе, ни в windows\system32\гдетотамонагадит
и гораздо раньше чем повиснет - начнет лагать так, что пользователь сам нажмет reset. Хуже того, у нее в этом месте еще и явные дидлоки случаются, то есть не всегда ей из этого состояния удается вылезти, даже если пользователь вовремя сообразит прибить свой любимый хром. (аналогично у freebsd, про совсем катастрофу с zone reclaim и arc я уж молчу, на линуксе я таких ситуаций почти не вижу)
Что происходит с современными и не очень (ntfs) файловыми системами при таком заполнении - тоже, умный догадается, а остальным лучше бы не лезть с улучшизмами.> Пользователю обязательно знать, кто там чего и как создаёт?
у нас уже есть одна прекрасная система для феноменально тyпых, ее вполне достаточно. OS/2 они уже угробили. Оставьте линукс в покое.
> Всё поминаю Федорчука, который в 2000-х размышлял на тему - а нужны ли Линуксу пользователи?
я пользователь. Но я совершенно не отношусь к умственно-отсталым (раз уж тут некоторые настолько, что неспособны понять что "альтернативная одаренность"- эфемеизм для политкорректного обозначения именно этого явления). Я в состоянии без подсказок догадаться, что если без конца открывать новые вкладки- память кончится, и система ничего не сможет поделать с дятлом за рулем.
> Кстати, вокруг вас сейчас сгущаются корпоративные дяди
которые ничего не забыли и ничему не научились? Спасибо, мы помним как они дважды подряд угробили OS/2 - идиотскими требованиями кое-как работы на устаревшем никому уже ненужном хламе.
Сначала загнав в технологический тупик ветку 1.3, потом - угробив подававшую надежды на избавление от этих ужасов 2.x и выпустив вместо нее мертворожденный warp - который да, запускался (со страшным скрежетом диска) на уже никому не нужной "386/4mb/косыефлопы", да вот только позорно сливал 95й на системе чуть помощнее - которые уже у всех и стояли, кроме тех, кто все равно ни копейки не собирался платить за апгрейд своей windows3.11
Вас прямо пробрало :)
Занимаетесь самовнушением. А как любить Линукс без самовнушения?
> Занимаетесь самовнушением. А как любить Линукс без самовнушения?Блин... Лучший комментарий за сегодня. Так жирно, что даже тонко.
Респект.
я не люблю линукс. Я его уже окончательно ненавижу - вот ровно из-за того что он безнадежно изуродован последние годы любителями "как в винде", "только нахаляяяяяяаву!"
> я не люблю линукс. Я его уже окончательно ненавижу - вот ровно
> из-за того что он безнадежно изуродован последние годы любителями "как в
> винде", "только нахаляяяяяяаву!"Линукс изуродован молодыми людьми, которые полны энергии и энтузиазма, но не имеют опыта, который основывается на совершенных ошибках и понимании "как лучше не делать", они своей энергией вытеснили людей более старых и не таких сильных как они, как это было с одним из ментейнеров ArchLinux, чтобы внедрять улучшизмы, kde4, kde5, systemd, и прочее, прочее прочее.
Ну или кому-то платит майкрософт и эпл, чтбы линуксом на десктопе нельзя было пользоваться.
Какие "молодые", о чем ты. Линукс уже долгое время - платформа для корпораций, в которую корпорации привносят "улучшайзинги" для своих целей. Надо сделать так, чтобы смартфон контролируемо тормозил - пажалсте, overcommit, zram, zswap. Надо сделать так, чтобы можно было построить файйервол - пажалсте, обвешали всё ядро кучей грязных хаков. Надо сделать так, чтобы системой управляли машины, а не люди - пажалсте, сустемды.По сути, линукс - проститутка, которой за что платят, то она и делает. Тут можно возразить - мол, все продаются и покупаются. Но в этом и разница между фотомоделями, которые кроме своего тела ничего предложить не могут, и опытными эскортницами, которые могут поддержать беседу на тему Гогена, Хайдеггера или Берроуза.
> Ну или кому-то платит майкрософт и эпл, чтбы линуксом на десктопе нельзя было пользоваться.Нет. Проблема не в том, что какой-то выдуманный враг платит, чтоб делали плохо. А в ом, что какой-то выдуманный друг не платит, чтобы было хорошо.
Поэтому делают как могут.
>не в том, что какой-то выдуманный враг платит, чтоб делали
> плохо.
>А в ом, что какой-то выдуманный друг не платит, чтобы
> было хорошо. Поэтому делают как могут.Что значит "не в том, а в этом", это же одно и то же.
Справедливости ради, у винды есть квоты, которыми админ может разрулить некоторые проблемы нехватки места. Если знать про них, конечно, и уметь ими пользоваться.А вот у меня намедни моя любимая Вистонька таки повисла. Ну, то есть, как повисла? Замёрзла и покрылась льдом. Кончилось место на диске Цэ, насколько я понял. Событий в журналы для Event Viewer она не осилила написать, остается только гадать о причинах (большой привет системдунам). Пришлось с кнопки перезагружать. Виной инциденту, подозреваю, придурочная качалка торрентов qbittorren, одарённые аффтары которой зачем-то создают скрытые файлы на диске, когда ты просто просматриваешь содержимое торрента, не отмечая галочками пункты для скачивания. Есть у меня как раз несколько больших жирных торрентов…
Вистонька в совокупности с кубитторрентом на ней - в 2019-ом наверное это весело :)
Это работает. Просто работает. Без телеметрии, без спайвари, без автоматической перезагрузки автоматических обновлений, без повышенного внимания руконогих индусов Майкрософта и остального мира, и вообще практически без недостатков. Почти идеальная десктопная операционная система. Лучше неё только Windows Server 2008 (R1).
А ПО то современное на ней как?
В любом случае, я бы уже сменил на 7. Кстати, понятно, что комп там старый, просто скажу, что как-то пользовался Десяткой на Кор2Дуо 3Ггц, 4гб оперативы ддр2 и винтом на сата2 - если сравнивать с Убунтой, то Десяточка там просто летала ;)
> А ПО то современное на ней как?Современное это какое — свежеобмазанное фека^W рекламой и телеметрией?
> В любом случае, я бы уже сменил на 7. Кстати, понятно, что
> комп там старый, просто скажу, что как-то пользовался Десяткой на Кор2Дуо
> 3Ггц, 4гб оперативы ддр2 и винтом на сата2 - если сравнивать
> с Убунтой, то Десяточка там просто летала ;)Зачем менять то, что хорошо работает, на то, что работает хуже? Назовите хотя бы одну разумную причину.
Нет, комп не старый, всего два года в строю и ещё несколько лет в коробках «на консервации».
Ну я бы не сказал, что виста "хорошо работает". Подвисания и фризы - то, что сопутствовало висте всю её историю, вне зависимости от номера SP. Если уж хочется действительно обмазаться нормальной олдскульщиной - то это семерка. По сравнению с вистой там много что поправили и улучшили эргономику. Если хочется жить с обновлениями - есть сборка simplix и DWS.
> Ну я бы не сказал, что виста "хорошо работает". Подвисания и фризы
> - то, что сопутствовало висте всю её историю, вне зависимости от
> номера SP.Подвисания и фризы были свойственны RTM и на маломощном железе. В SP2 и при лучшем оборудовании от них мало что осталось. Да и отключаются они при желании. В корпоративных же версиях мультимедийной блотвари вовсе нет — и тормозить нечему. А вот в Десяточке™ всё это богатство уже не отключишь.
> Если уж хочется действительно обмазаться нормальной олдскульщиной - то
> это семерка. По сравнению с вистой там много что поправили и
> улучшили эргономику. Если хочется жить с обновлениями - есть сборка simplix
> и DWS.Кое-что чуть-чуть кое-где улучшили. И кое-что (но важное) сломали. Да ещё и телеметрию добавили. Спасибо, я не хочу такого «прогресса». Про улучшенную эргономику от души посмеялся. В Висте можно вернуться к классической теме, которая, собственно, изначально делалась эргономически обоснованной, в отличие от модномолодёжного Aero, на которое приятно смотреть, но с которым утомительно работать; а в Семёрочке вернуться нельзя, некуда. Про аппаратное (не)ускорение классического GUI в NT6.1 напоминать излишне, полагаю.
Тем более, что в сугубо техническом смысле Виста самый что ни на есть хайтек, на ней построены все последующие винды. А все они вместе, всё семейство NT, бегает на коде, написанном некогда командой Катлера, которая вдохновлялась, страшно сказать, VMS и ненаписанной чудо-системой DEC. До сих пор внутренности форточек выглядят сами знаете на что похожими. Так что я бы не придавал никакого значения рекламной и эникейской болтовне о операционных системах Майкрософта.
> Справедливости ради, у винды есть квоты, которыми админ может разрулить некоторые проблемыдык, у нас тоже есть (ну ок, с квотой на rss не все гладко). Но чтобы квоты работали и при этом еще работал какой-то софт - памяти нужно не много, а ОЧЕНЬ много. С избытком. Чтобы ты мог выставить квоты, в которые тот же хром - поместится, и при этом останется еще достаточно памяти для ворда.
А если у тебя ее очень много - скорее всего, можно и не делать за систему ее работу.> есть, как повисла? Замёрзла и покрылась льдом. Кончилось место на диске
> Цэ, насколько я понял. Событий в журналы для Event Viewer она не осилила написатьпотому что он лежал на том же диске, да? ;-)
> Пришлось с кнопки перезагружать. Виной инциденту, подозреваю, придурочная качалка торрентов
> qbittorren, одарённые аффтары которой зачем-то создают скрытые файлы на диске, когдачтобы избежать фрагментации, ага.
>> есть, как повисла? Замёрзла и покрылась льдом. Кончилось место на диске
>> Цэ, насколько я понял. Событий в журналы для Event Viewer она не осилила написать
> потому что он лежал на том же диске, да? ;-)В точности так. Придерживаюсь ещё тех рекомендаций Мокрософта — об организации единственного раздела на весь физический диск.
>> Пришлось с кнопки перезагружать. Виной инциденту, подозреваю, придурочная качалка торрентов
>> qbittorren, одарённые аффтары которой зачем-то создают скрытые файлы на диске, когда
> чтобы избежать фрагментации, ага.Вот такие умные и предусмотрительные погромизды. Листаешь древовидный интерфейс содержимого торрента, а он умно и предусмотрительно создаёт скрытые файлы нужного размера, хотя ты ни о чём таком не просил. Искуссьтвенный интеллехт, понимаешь. Хотя в настройках отключено резервирование места под закачку, и дисковый кеш отключён, но оно лазит в системный кеш. Возможно, это следовало бы тоже отключить. Погромизды, писавшие эту малварь, явно дружат со славным алгоритмом рукожопа ( https://traditio.wiki/Алгоритм_маляра_Шлемиэля ), поскольку тормоза растут чуть ли не в линейной зависимости от количества добавленных закачек. Или это битторрент таков по своей природе? Не знаю, да и пофиг.
> Вот и сидите дальше с 2% на десктопе.Нужно было мысль дальше развить - что будет с линуксом, если количество пользовотелей будет уменьшаться ?
Станет их 1.5%, 1%. 0.01% - будут ментейнеры БЕСЛПАТНО собираться новые пакетики для дистрибутивов ? мне кажется, что нет, мне кажется линукс станет закрытыми и по подписке, конечно можно будет скачать исходники и самому собрать, но ктож это осилит ?
Будет несколько спец дистрибутивов, для всякого рода госконтор, но это будут накатываемые контейнеры с шифрованной фс, которые будут накатывать всякие конторки (друзья депутатов) ЗА ДЕНЬГИ, деньги налогоплательщиков, софт будет только для нужд организации, то есть никаких тебе mc, kate, tcpdump, и прочего.
И никаких тебе свобод выбора DE и софта, даже браузер будет тот, что за тебя дяди порешает.
Не нравится - а что ты сделал для линукса :) ?
Однако, если ситуация будет обратной, и число пользователей линукс будет расти - это привлечет производителей софта, и софта, хоть и платного под линукс станет больше, и он, линукс станет лучше, во всех смыслах. Но тру-линукс-пользователям этого не нужно, им бы как в 2000ых (на лоре) лишь бы только с грязью смешать новичков.
дружище, я отлично помню времена, когда "количество пользователей" было равно 0."пользователь" б-жественной десяточки с ума бы сошел, пытаясь понять, что тут вообще такое на экране происходит, когда sls вываливала ему просто незатейливый интерфейс fdisk - "ну ты тут как-нибудь разметь под систему, а потом мне вернешь управление, и расскажешь, что и как"
И ничего - жили как-то, сдохла sls, продолжил Патрик, Патрик ниасилил в зависимости - пришел Эрик... Потом пришли корпорации - и началась копрофагия, потому что торговать дисками по себестоимости им быстро приелось, на этом на IPO не выйдешь.
> И никаких тебе свобод выбора DE и софта, даже браузер будет тот, что за тебя дяди порешает.
у тебя и так только тот браузер, который дядя тебе соберет - сам-то ты не можешь, да?
ты ведь "поооользователь".
> Но тру-линукс-пользователям этого не нужнода. Мне нужна предсказуемая система с понятным поведением - где не внезапно вылезает какая-то хрень, предлагающая прибить что попало, потому что сам альтернативно-одаренный не осилит.
Вполне достаточно одной винды, вторая - ненужно.
> Потом пришли корпорации - и началась копрофагия,
> потому что торговать дисками по себестоимости им быстро приелось, на этом
> на IPO не выйдешь.У лялиха исключительно удачная для жадных корпорастов модель разработки. Можно без усилий и под всеобщее одобрение погромиздов и даже потребителей ломать обратную совместимость в каждом новом выпуске своей малвари и никогда не закрывать кассу для несущих бабло. Впрочем, мы-то это понимаем, а секта — нет. На то и секта.
> дружище, я отлично помню времена, когда "количество пользователей" было равно 0.Были времена, когда ядро было версии 0.01 (кажется), когда еще не было гну-утилит, и этот линукс мог поддерживать один человек, сейчас, чтобы средний дистрибутив поддерживать - сколько человек нужно ? сотни, десятки ? :) Можно конечно сделать автоматическую сборку пакетов, только если не смотреть на жалобы пользователей - "у меня после обновления...."
> у тебя и так только тот браузер, который дядя тебе соберет -
> сам-то ты не можешь, да?Не могу и не хочу, потому, что:
> ты ведь "поооользователь".Именно :)
> да. Мне нужна предсказуемая система с понятным поведением - где не внезапно
> вылезает какая-то хрень, предлагающая прибить что попало, потому что сам альтернативно-одаренный
> не осилит.Мне тоже нужна предсказуемая система, но предсказуемость его зависит от того, насколько тщательно будут проверяться пакетики, перед отправкой в "стейбл", чтобы пользюки их стали скачивать и систему обновлять.
Можно сделать - так сделать прибивалку процессов, хотя в той же винде не прибивается а сбрасывается в своп, сделать ее по дефлоту, и сделать возможность отключения.
Вот вы винду ругаете, а там такого никогда не будет - скачали новую версию софта, а при его запуске выйдет сообщение "библиотека не найдена" ;)
> Можно конечно сделать автоматическую сборку пакетов, только если не смотреть на жалобы
> пользователей - "у меня после обновления...."если сделать ее правильно - с покрытием тестами хотя бы базовой функциональности - жалоб будет существенно меньше. Впрочем, о чем я... см историю с dkms
>> у тебя и так только тот браузер, который дядя тебе соберет -
>> сам-то ты не можешь, да?
> Не могу и не хочу, потому, что:ну и к чему тогда страдания за "только то что подсунул дядя" ? Я могу собрать сам, и иногда вынужден это делать, когда дядя какую-то фигню насобирал. Но я и под винду соберу.
> Мне тоже нужна предсказуемая система,
в предсказуемой - при исчерпании всей памяти, предсказуемо, происходят проблемы. Как видишь, это не устраивает наше всьо - пользователей с кривыми руками.
> Вот вы винду ругаете, а там такого никогда не будет - скачали новую версию софта, а при его
> запуске выйдет сообщение "библиотека не найдена" ;)запросто, когда это не корпоративная система за много $$. Захотеть какую-нибудь особо у6людочную версию сишного рантайма 2009го года - как два пальца. Принести ее с собой, но позапрошлой версии с незакрытой уязвимостью - тоже всегда пожалуйста.
Кроме рантайма - да, все остальное принесут с собой (а потом "ой лопается от потыкивания пальчиком - кто ж знал что надо обновлять), потому что копирайты и особенности системы заставляют все это дублировать в каждой крохотной пищалке и перделке. Кому от этого хорошо?
Ну ничего, у вас для этого уже тоже все есть.
Добавьте плюсов поху, анонимы. Он единственное ценное достояние опеннета (даже если вы по молодости этого ещё не понимаете).
Да набросы какие-то уж слишком жирные. Я бы лучше скинулся ему на таблетки для похудения.
> и нaxep никому не нужна, потому что вместе с отстреленным хромом накрылась недозаполненная форма (и далеко не всегда после перезапуска тебя пустят ее заполнять с прежнего места)
> то что дятел-автордятел - это ты, потому что до своей формы ты не достучишься никогда, система может может и сутки колом простоять. А встанет она колом рано или поздно, вне зависимости от количества памяти, 16 или 32, особенно если ее не перегружать/выключать ежедневно.
ну так не дожидайся этого "поздно". У тебя 4, 8, 10 гигабайт свопа - они _физически_ не могут заполняться быстро, нет таких дисков.могу подарить лишний маломощный светодиодик - повесь его на контакты - как замигает, ну закрой уже пару ненужных сейчас окошек.
> А встанет она колом рано или поздно, вне зависимости от количества памяти, 16 или 32, особенно
> если ее не перегружать/выключать ежедневно.у меня система встает колом от перегрева моста. Вот сейчас холодно - не встает колом уже третью неделю. Памяти - 4G, и те не все доступны из-за особенностей платформы.
Что я, блин, делаю не так?И даже вот такая:
14:57:02 up 853 days, 15:05, 3 users, load average: 0.17, 0.23, 0.23
не встает колом, представляешь? (нет, я не могу ее перезагрузить. Нет, не поломают.)
total used free shared buffers cached
Mem: 12322848 10332424 1990424 0 108024 1356512
-/+ buffers/cache: 8867888 3454960
Swap: 8388604 13652 8374952
У тебя талант раздавать самоочевидные советы из разряда "Хочешь быть богатым - будь им!", так характерная для продавцов отрыжки своего ума за деньги, вне зависимости от того, как это называется - семинар, лекция или работа сотрудника интегратора.
> и нaxep никому не нужна, потому что вместе с отстреленным хромом накрылась
> недозаполненная форма (и далеко не всегда после перезапуска тебя пустят ее
> заполнять с прежнего места)А ведь можно сделать так, что каждая вкладка будет отдельным процессом, и если вкладка в течении 10 сек не обращается к ОЗУ - она целиком скидывается в своп, а ОЗУ освобождается ? не ну как вариант.
Ну можно еще добавить условие, если окно не активно, если пользователь с ним не работает.
В той же винде отстреливаются новые процессы. Заполняешь ты где-то там формочку на сайте, тут дилинькнул мессенджер, прошел по ссылкам, открыл гугл, открыл еще пять ссылок, тут память кончилась и последние запущенные процессы прибились, старые процессы в целости и сохранности. Простая и очевидная логика, недоступная нашему тропическому алконавту поху, готовому землю жрать, лишь бы только никто не подумал, что он ляпнул глупость.
> В той же винде отстреливаются новые процессы. Заполняешь ты где-то там формочку
> на сайте, тут дилинькнул мессенджер, прошел по ссылкам, открыл гугл, открыл
> еще пять ссылок, тут память кончилась и последние запущенные процессы прибились,
> старые процессы в целости и сохранности. Простая и очевидная логика…которая не работает, если для убийства остаются только очень старые процессы. Эти вкладки не только потому текут, что они новые, но и потому что кто-то нашёл для своего сайта очередной набор Улучшенных™ компонентов под react.js, которые текут не сразу и неочевидным образом, а когда текут, то на корпоративном макбуке с двумя вкладками, слаком и vscode этого не видно.
> А ведь можно сделать так, что каждая вкладка будет отдельным процессом, и
> если вкладка в течении 10 сек не обращается к ОЗУ -
> она целиком скидывается в своп, а ОЗУ освобождается ? не нуты не хочешь подождать пока она перекинется в своп (это не позволит в этот же момент писать на диск, положим, кэш текущей вкладки с миллионом картинок и еще параллельно качать "порносконем8k.av1"). И тем более не хочешь подождать, когда случайно попал мышкой мимо соседней вкладки - когда она соизволит оттуда достаться, опять же затормозив другие обращения к диску, чтобы показать тебе то, что не особенно сейчас и хотелось увидеть.
Вполне достаточно бесит и существующий "lazy loading" - причем он из кэша - все равно lazy.
Ради одного в месяц случая, когда система на самом деле перезагрузилась внезапно и я сам не хочу ждать.> как вариант.
> Ну можно еще добавить условие, если окно не активно, если пользователь с
> ним не работает.главное условие - реальная нехватка памяти. Иначе мы даром транжирим ресурсы и время этого пользователя на перекачивание в своп из свопа того, что никуда двигать было бы не надо.
А при реальной нехватке памяти, к сожалению, перестает хватать cpu и дисковой пропускной способности заодно. proactive swap мы не любим, вон сколько недовольных.
>Её легко можно закидать ОЗУТак когда-то сделали яблочники. Совершенно экстенсивный путь.
Не сказал бы, что сделали. Макбуки с 32 гигами появились только в конце 2018 года, раньше 16 максимум. Да и встречаются люди, которые на старых Airах с 4 гигами на последних осях живут и не особо страдают.
То ли на Хабре, то ли на Компьютерре(?) как-то (~5 лет назад) читал развёрнутый обзор, как проблемы с утечкой памяти в макоси решались простым добавлением оперативы в новые версии мак(бук)ов. Сразу дисклаймер: личного опыта более или менее длительного юзания маков или какого-нибудь хакинтоша не имею, не нужно было.
>Её легко можно закидать ОЗУ.Ну раз вам легко, то с вас покупка ОЗУ и материнских плат, а если нужно - то и процессоров новых, всем тем, кто не считает, что это легко.
> Ну раз вам легко, то с вас покупка ОЗУ и материнских плат, а если нужно - то и процессоров новых, всем тем, кто не считает, что это легко.Как оригинально то...
Естественно, что легко относительно пути "а где патч?". Сам прикинешь сколько это трудозатрат для конечного пользователя...
На реддите и хн обсуждение некого абстрактного дохлого опоссума скатывается к чаепитию. Да, такое приятно читать, но не долго. по поводу рунета - это меньше зло, совсем другое дело - это сос и подобная ванильность. Если вы не знаете, чем это оборачивается, то советую посмотреть все отклоненные реквесты в репозитории ядра, раковость подобной общественной опухли зашкаливает.>на русских сайтах (на ЛОРе есть в Talks) воняют и говорят
Этой проблеме 15 лет, это проблемы не только ядра линукс, все ответы уже есть, решения малоприятны.
>Просто противно читать.
А мне уже противно до безразличия читать подобные комменты.
Но проблема-то больше в голове у тех, кто за каким-то фигом открывает 100+ вкладок, нежели в технической части ;) И чего тут обсуждать, тоже не совсем понятно.
А это неважно. Приложение позволяет открыть 100+ вкладок. Мне хочется открыть 100+. ОС должна с этим тем или иным способом справляться. Или на уровне приложения брать и к чертям ограничивать функционал, пока ОС не умеет реагировать на такие ситуации адекватно. И не надо устраивать сеанс очередного вещания "не переносите ваши привычки с другой ОС на наш уютный Linux".
Да они там на этой винде мало того, что играют, так ещё и работают! Фу-фу!
> Да они там на этой винде мало того, что играют, так ещё
> и работают! Фу-фу!Да ваще офигевшие, понимашь купят себе игру AAA класса, и давай в нее рубиться на видяхе за 90к рублей и монике 4K, то ли дело у нас - повесил на ctrl+k скрипт прибития браузера и красота :))
Даже не так. Это вполне себе лазейка для написания вирусов работающих даже на жс. Через жс можно заставить линукс уйти в себя, и это НЕ нормально, для ядра. Не обслуживать один процесс это лучше чем не обслуживать все процессы находясь в бесконечном поиске памяти
> лазейка для написания вирусов (...) Не обслуживать один процесс это лучше чем не обслуживать все процессы находясь в бесконечном поиске памятиРазумеется. Но на Linux же не бывает вирусов, вы разве не знали? (#сарказм)
ОС не работает с вкладками - она про них совсем ничего не знает. Что, конечно, не отменяет проблемы с управлением памятью в Linux. Опять-же есть проблема, что на прикладном уровне через возвращение нулевого указателя из функции malloc()/calloc()/etc в Linux не могут сообщить, что память закончилась и позволить самому приложению что-то по этому поводу сделать.
> Опять-же есть проблема, что на прикладном уровне через возвращение нулевого указателя
> из функции malloc()/calloc()/etc в Linux не могут сообщить, что память закончилась
> и позволить самому приложению что-то по этому поводу сделать.Могут, в этом и есть суть отключения overcommit. Проблема в том, что для куча приложений написана так, что по получению NULL умеет только вываливаться с записью «вот это нежданчик!» в логе, а по-другому писать разучились.
> Могут, в этом и есть суть отключения overcommit. Проблема в том, что
> для куча приложений написана так, что по получению NULL умеет только
> вываливаться с записью «вот это нежданчик!» в логе, а по-другому писать разучились.Кхе-кхе.
https://developer.gnome.org/glib/stable/glib-Memory-Allocati...
> If any call to allocate memory using functions g_new(), g_new0(), g_renew(), g_malloc(), g_malloc0(), g_malloc0_n(), g_realloc(), and g_realloc_n() fails, the application is terminated. This also means that there is no need to check if the call
> succeeded. On the other hand, g_try_...() family of functions returns NULL on failure that can be used as a check for
> unsuccessful memory allocation. The application is not terminated in this case.
>
Миллиарды людей с отсутствующим оверкоммитом как-то живут себе на винде, не кашляут - фильмы смотрят, в интернете сидят, игрушки запускаят. Overcommit - фенька от корпораций для корпораций, позволяющая на каком-нибудь смартфоне запустить чуть больше приложений, а зависнет - ну так сам дурак, что запустил столько приложений, перезагрузи устройство. По сути, это грязный хак. Впрочем, как и всё остальное в линуксе.
Я в 2006 открывал 100 вкладок и было норм. Почему в 2019 на том же железе я не должен открывать те же 100 вкладок с тем же или даже меньшим потребшением ресурсов? Почему даже на железе с вчетверо большей оперативой и зарезанным JavaScriptом на всех я не могу открыть столько вкладок? У нас вообще прогресс в софтостроении и оптимизации или регресс и п***********о? Вопросы риторические, можно не отвечать.
> Почему в 2019 на том же железе я не должен открывать те же 100 вкладок с тем же или даже меньшим потребшением ресурсов?Принеси в свой 2019 вебсайты и браузеры из 2006 - и все откроется. Всегда ваш, Кэп.
Просто есть те кому эта проблема и сам линукс не интересны, и есть фанатики линукса. У последних в голове творится что-то непонятное, и даже видя очевидный косяк они начинают обвинять тебя в криворукости и т д, а как последний аргумент "УМВР", "это никому не нужно" и "иди сам перепиши программу/ядро и т д".
Да :)
Но, в конце-концов, модераторы оставят только правильное и доброе :)
Потому что реально полная хрень, а не проблемаКАКАЯ система умеет мягко обрабатывать нехватку памяти? Винда что ли?
Любая система раком встаёт
Не мягко, а корректно, а не втупую. И именно винда.
В Windows 10 такой проблемы нет, потому что систему все же писали профессионалы, а не какие то случайные люди, вот вам и базар.
Типа винда с отключенным свэпом позволит открыть бесконечное количество вкладок без видимых эффектов торможения и зависания ? не верится )
> Типа винда с отключенным свэпом позволит открыть бесконечное количество вкладок без видимых
> эффектов торможения и зависания ? не верится )Хорошей производительности не ждите, но вести она себя будет НАМНОГО лучше, вы как минимум сможете закрыть "плохое" приложение. Ну и "OOM-Killer" в Windows хорошо сделан и действительно работает, в отличие от...
> Ну и "OOM-Killer" в Windows хорошо сделан и действительно работает, в отличие от...Заметьте, как модератор изящно скрывает неудобные комментарии...
> Заметьте, как модератор изящно скрывает неудобные комментарии...Конечно, неудобные: ему ещё после таких вбросов чистить тут придётся.
Потому аффтар статьи - неуч! Начинает тормозить потому что:
1. линуксу некуда деть анонимную память (свопа нет)
2. Единственно что можно выгрузить - это замеморимапленные с диска файлы. Например, запущенные программы и библиотеки.
3. Так как они по факту таки используются, то он их постоянно читает с диска, чуть поюзает и выбрасывает из памяти.
4. Потому что никто, блджад, не использует mlock() / mlockall() а надо!
Соответственно, кто отключает своп, мотивируя, мол именно из-за него тормозит -- тот сам такой.
Две планки по 8 Гб ddr4, можно купить за 5 тыс. рублей.
У меня 32, про своп давно забыл.
У меня как-то виртуалка случайно попросила 200гигов оперативки.
СЛУЧАЙНО??? убило
А на суперкомпьютере Линукс даже ещё шустрее чем у вас крутится.
Вы не будете так любезный приложить чек из магазина для подтверждения правдивости вашего заявления.
Проблема воспроизводится со SWAP так же успешно и состояние системы в этом случае ещё хуже.Столько АНАЛитиков на opennet - аж жуть.
Попробуйте обсуждение почитать на Hacker News, чтобы не падать лицом в грязь со страшной силой и не нести бред.
Ну так опять таки, для особо одаренных - у системы в данный момент времени нет ничего лишнего, что можно бы было сбросить в своп и помочь беде хоть на время.
А все из-за того, что ситуация притянута за уши. то есть специально так сделали, руками ограничив и память и параметры виртуальной памяти вообще.
А вот будь там в фоне с десяток других, много жрущих процессов и в данный момент простаивающих (тот же сервер БД) - на время памяти можно было бы выкроить.
Лишнее есть всегда. Если бы линукс как целостную систему для вполне определенных задач и пользователей делали, то система бы понимала, что рутовским задачам максимальный приоритет, затем графической оболочке пользователя, затем чему-то еще по вкусу, а браузер, который сожрал всю память надо просто прибить весь или отдельные процессы. Юзер видит "ваш браузер отожрался и был убит т к память кончилась", но проблем, все понятно и просто.
Кста, интересно как винда и мак себя ведут в этой ситуации?
Хорош уже чушь молить про якобы не пришедший оом-киллер.
Браузер говоришь прибывать?
А ты знаешь как этот оом-киллер работает, логику? Браузер - активное приложение. А активное приложение убивается в последнюю очередь, бл! Подумай хорошенько, кому нужна система, которая прибывает активный процесс??? А вдруг это 1С какой-нибудь, который двое суток считал мегазадачу и вдруг выбрал всю память, так его теперь убить по-вашему?
Ну-ну. Должен сам понимать, говоришь)))
Впрочем, кому я это пишу? У тебя "лишнее всегда есть", даже в таком, по-самые уши притянутом примере...
Именно, должен прибить 1С. Что бы юзеру стало понятно, что для его задач не хватает памяти. А не начинать лагать, как будто глючит гномо-щель.
К сожалению, имхо, пользователь не поймёт ни так, ни так. Если ООМ прибьёт 1С, то пользователь начнёт орать благим матом, что потеряна работа нескольких дней из-за кривого Linux-а, а если будет система будет жутко тормозить, то это у вас кривой Linux тормозной. Простой пользователь (в данном случае с 1С - какой-нибудь бухгалтер) скорее всего не сможет понять, что не хватает именно памяти, а не чего-то ещё.
ЛЮБОЙ сложный расчет дольше получаса и так должен делать периодические сохранения на диск. А вдруг электричество выключится? А с загруженным на 100% процессором батарея сядет моментально
отрицание очевидного - признак фанатика.
Если 1с завесила комп полностью, то да его надо прибить. Это лучше чем по кнопке перезагружать весь комп. Мне плевать как твои киллеры работают, я пользователь.
Как вариант резервировать что-то чтобы систем оставалась отзывчивой и позволяла хотя бы выбрать что делась с зависшей задачей, которой не хватает памяти.
> А ты знаешь как этот оом-киллер работает, логику? Браузер - активное приложение.
> А активное приложение убивается в последнюю очередьА музыкальный плеер — активное приложение? А nginx, на который коллега зашёл за обещанным файлом, делает браузер неактивным? А udevd (или любой другой аналог), запускающий скрипты, когда ты вставляешь флешку с порнухой.jpg.exe? А что считать активным на headless-машине, на которой удалённо работают три-четыре человека?
Проводки в 1С тебе жалко, а недописанное письмо в свёрнутом окне почтаря тебе не жалко? А если недописанных писем нет? А если я оставил 1С считаться в фоне и пошёл почту читать? А если я на передний план вывел страницу с каким-нибудь мониторингом?
Понапокупают себе однозадачных десктопов и думают теперь, что всё просто и очевидно, нужно только встроить WM в ядро, чтобы их любимый контрстрайк не выбивало.
Я же говорю - не знаешь как работает.
Процесс можно положить в группу и там указать т.н. "вес" - который и будет определять фактор "активности" процесса, то есть будет ли убит активный или же нет.
Таким образом можно настроить любой процесс. То есть, можно таки заставить выгружать активные.
> Процесс можно положить в группу и там указать т.н. "вес" - который
> и будет определять фактор "активности" процесса, то есть будет ли убит
> активный или же нет.А кто эти веса раздавать и менять на лету будет? Гном? А правила к нему будут на форумах качать? А потом придёт текстовый редактор на электроне и начнёт воевать, думая, что она умнее и лучше знает, какие развесовки нужны?
Для пользовательских десктопов это всё путь в никуда.
Они на порядок лучше умеют работать со свопом и сжатием данных в оперативке, плюс планировщик поумнее, там таких проблем просто нет, в силу архитектурных особенностей.
а я то думал это из-за гномовского трекера индексатора такая хрень с зависаниями и морганием хард диска
> а я то думал это из-за гномовского трекера индексатора такая хрень с
> зависаниями и морганием хард дискану вообще-то он добавит тебе ровно тех же проблем, которые автор зачем-то устроил себе самостоятельно - нагрузит io (мешая подгружать отdiscard'енные страницы бинарников), залезет в своп, подожрет оперативку, попутно вымоет дисковые кэши и устроит race между их отрастанием из-за перебирания данных и работой ядерного очищальщика, пытающегося сохранить хоть сколько-то доступной для срочных нужд памяти.
А, кстати, напомните, кто знает - idle priority у нас так и сломан по сей день?
Если да - ну тогда единственный для тебя способ - "а вы так не делайте". Запускай его вручную перед походом за пивасом.
>Потому что никто, блджад, не использует mlock() / mlockall() а надо!Кому надо, тот использует. Надо только для процессов, критичных ко вермени отклика, а так же для областей памяти с данными, которые хочется защитить от выковыривания из свопа посторонними людьми.
Все так, но по-умолчанию система должна вести себя более адекватно, как то:
1. Не зависать
2. Возможно оставить немного памяти чтобы все оставалось отзывчиво, а новые процессы просто не получали остатки памяти
3. Пришибать процессы которые сожрали много памяти в последнее время
4. Не запускать новые процессы, или запускать в рамках резерва при том чтобы процессы не жрали много памяти.
5. При этом гадить в логи эрроры что память исчерпана
6. Графический сеанс должен быть максимально отзывчив, кроме случая когда он сам не жрет память, тогда пришибить его, показать окошко безопасного запуска, с выбором запустить с настройками по-умолчанию, или запустить текстовый режим.
7. Если графического нет, то ssh или локальная консоль должны быть максимально отзывчивы.А так, сам такое видел еще с рхела 4, когда оракел сжирает всю память или жаба какая-нибудь, ssh тупит в край, залогиниться по ssh занимает минут 20-30, каждая команда занимает минут 5. Проще и быстрее ребутнуть сервак и восстановить оракел. За много лет один раз только видел чтоб ядро пришибло именно оракел при нехватке памяти, чаще пришибало какой-нибудь gnotify или vncserver, а оракел продолжал жрать память.
В винде тоже можно отключить своп. И она это учтет, отрубив почти полностью любое системное кэширование и буферизацию, а когда памяти не станет совсем - начнет жалобно верещать, предлагая закрыть наиболее жирную программу. А если совсем совсем плохо - пришибет её и извинится в духе "извини, чувак, вместе бы мы не выжили".
Ну а линукс ничего не скажет вообще. Даже если пользователь ничего не открывал, а просто в очередном обновлении его любимой DE привезли утечку памяти. Просто израсходует всю память и благополучно встанет колом. И попробуй, будучи простым пользователем, догадайся почему.Можно предположить, что паверюзерам второе поведение может быть больше по душе - я тут сам себе датчики настрою и сам всё проконтролирую, даже ночью спать не буду - буду следить. Но вот только простые пользователи могут не обрадоваться тому, что их система по непонятным причинам ушла в астрал. И проблема эта не в пользователе, который вообще может не догадываться о взаимосвязи расхода памяти и открытия вкладок браузера, а в операционной системе. И отрицать это - по меньшей мере, глупо.
Давеча наблюдал такую картину:8гиг рамы, в 10-ке запустил жирную виртуалку. Потом захотел запустить еще одну жирную виртуалку, и она меня вежливо послала, сказав, что не запустится, пока не закрою предыдущую, или не освобожу досточное кол-во ОЗУ.
В бубунте: запустил жирную виртуалку, запустил 2-ю жирную виртуалку - система даже не пикнула, ушла в астрал и не вернулась.
> Давеча наблюдал такую картину:
> 8гиг рамы, в 10-ке запустил жирную виртуалку. Потом захотел запустить еще одну
> жирную виртуалку, и она меня вежливо послала, сказав, что не запустится,
> пока не закрою предыдущую, или не освобожу досточное кол-во ОЗУ.угу, регулярно бесит - потому что я совершенно точно знаю, что сейчас запускал посмотреть одну фигню от прошлого раза, и из выделенных ей 6G на самом деле понадобится от силы первый. Причем нет бы мгновенно - нет, о чем-то думает, долго-долго скрежещет диском (в этот момент как раз и вспоминаешь, что одна уже запущена, и надо было хотя бы второй профиль мазилы закрыть). После чего, наконец, вылазит предупреждение, и можно урезать память и попробовать снова.
В линуксе, понятен, не легче, поскольку большинство доступных нам виртуализаторов лочат всю выделенную им память (то есть либо уедет в своп, либо не запустится точно так же как в винде)> В бубунте: запустил жирную виртуалку, запустил 2-ю жирную виртуалку - система даже
> не пикнула, ушла в астрал и не вернулась.alt-sysrq l, m, t в студию, или назвиздел
потому что тут либо медленный своп, которого надо было просто подождать, либо кто-то чего-то недоговаривает.
> alt-sysrq l, m, t в студию, или назвизделЗачем мелочититься - изучить СИ и переписать ядро.
По сабжу - оно и отключено бывает, представляешь ? ты жмакаешь а реакции нет, так что только ресет, ну и забываешь бывает комбинации эти, если не пользуешься регулярно.
> Зачем мелочититься - изучить СИ и переписать ядро.охереть. Нажать пару кнопок и хоть мобилой сфоткать что получилось - это "изучить си и переписать ядро".
Вот для таких мы и будем старательно ухудшать линукс, ага.
Ну и да, ровно из-за вас эти комбинации и отключены. Люди с мозгами-то не нуждаются в заботе дяди чтоб деточку ненароком не перезагрузили злые хакеры, или не подсмотрели на ее порнопроцессы.
Потому что Hyper-V ближе к XEN, чем к KVM. И там память ЕМНИП выделяет гипервизор, а не ОС.
Проблема в том, что даже со свопом отвисать система может очень долго.
>Проблема в том, что даже со свопом отвисать система может очень долго.Иногда бесконечно долго - давеча было, зажрала девелоперская java прилада кучу памяти, ладно перешёл в виртуальную рутовую консоль, убил приладу килом (на всё ушло несколько минут) память вроде как вернулась, вернулся обратно в гуй - а винт всё шуршит и шуршит, система стоит полуколом и можно сказать не работает. 8 гигов рам, своп 16 гигов диски в софтовом рейде.
Но у людей проблем понятное дело нет - всё хорошо прекрасная маркиза.
SysRq+f, на будущее, и не страдайте. Обычно работает, но можете выставить большой вес для текущего шелла и запускать в нём. Это проще, тем более что когда когда вся память со свопом по-настоящему закончится переключиться вы никуда не сможете. А то что вы наблюдаете -- это скорее всего результат засилья ламерских советчиков в интернете, бывает.
earlyoom может помочь.
А как же oom killer? Неоднократно заканчивалась память и был прибыт почему-то всегда в первую очередь xorg.
обычно когда прибиваешь иксы прибиваются процессы всего гуля (опера, лиса, идея, sublime)
Значит у тебя какая-то программа создает утечку в xorg, например pixmap'ы плодит и не чистит
Гуй не нужен ! :D
Ну как бы свопают на диск не только память процессов, но и содержимое исполнимых файлов. Все страницы с кодом, если они сейчас не нужны, из памяти можно дропнуть и потом прочитать с диска.
>Ну как бы свопают на диск не только память процессов, но и содержимое исполнимых файлов.Только вторые не в своп попадают, а просто выбрасываются.
Проблема действительная серьезная.
Часто из за свопинга просто вешается комп и единственный выход, это рестарт.
swap на ссд особо ничего не вешает. когда появляются подтормаживания просто закрываю 50 вкладок в хроме
обычно курсор не двигается при проблеме, sysrq +... не реагирует
А вас уже минусуют. Людям лапши навесили что вот linux просто прекрасен как ядро, проблем там нет, и все в таком духе... Не хочется им верить в обратное!Используйте zram (в windows включен по дефолту его аналог), а так же earlyoom к примеру, будет сильно лучше.
В винде и без zram всё отрабатывает штатно: как только память начинает заканчиваться, система начинает прибивать процессы.
Да, так и есть. Просто zram помогает при нехватке памяти.
временно, потом все равно заканчивается)
Zram не комильфо. Есть же zswap https://www.hippolab.ru/linux-zswap-optimiziruem-rabotu-s-po...
По моему опыту zram работает в разы приятней и быстрее. А swap на hdd в любом виде надо отключать при наличии ОЗУ более 6 ГБ и включенном zram. Если же ОЗУ 4 и меньше - приоритет swap ставить самый низкий, а порог выгрузки в него - самый высокий.
>А swap на hdd в любом виде надо отключать при наличии ОЗУ более 6 ГБ и включенном zram.На hdd может и надо, а на nvme лучше оставить, чем засорять оперативку не слишком нужными данными
> Zram не комильфо. Есть же zswapzswap — это бомба замедленного действия, потому что когда память всё-таки закончится, сжатые страницы будут перемещены в своп С РАСПАКОВКОЙ. Хорошо сжавшиеся страницы породят такое количество IO со своп-разделом, что система встанет колом надолго.
Zswap и на диск тоже пожатые страницы кидает.
> Zswap и на диск тоже пожатые страницы кидает.Я не знаю, где ты это вычитал, но тебя жестоко обманули:
https://github.com/torvalds/linux/blob/de2fadf566cb9277bea22...
А при чём тут ядро, если эти финтифлюшки обязаны идти исключительно в довесок, чтобы можно было соорудить именно такую систему, которая требуется? Что-то как-то не взлетели Windows Embended эдишн у народа, да и поддерживать что-то минимальное проще, чем то, что при изменении значка кнопки пуск переименовывается сразу в следующую версию. Zram это конечно хорошо, но если бы оно было включено по умолчанию, то не было бы такой популярности у линя на том, где полноценная ось и не нужна (3D-принтер с рабочим столом и Windows Store, ага).
http://woshub.com/memory-compression-process-high-usage-wind.../
В винде сжатие памяти появилось ещё в 16 году и включено по-умолчанию для всех.
> http://woshub.com/memory-compression-process-high-usage-wind.../
> В винде сжатие памяти появилось ещё в 16 году и включено по-умолчаниюи как мы без этой пакости жили двадцать лет - сами не понимаем.
Linux действительно прекрасен, но далеко не без проблем.
А можно ZRAM включить только для 2 программ firefox да chromium?
а как включить oom killer?
Используйте сторонний, в linux он работает отвратительно. Если хотите нормальный OOM-Killer в системе, используйте MS Windows, ну вдруг вас эта проблема очень напрягает...
спонял, что лучший oom киллер это планка озу на 8 гигов за 50 баксов
плз припаяй мне 8гб планку к расбери
в 4ой версии добавили usb3.0
берешь ссдшку самую дешманскую (a400 120gb 20 баксов. скорость 320 на запись чего за глаза с 3.0) ставишь на ней своп. ??? профит
А если у него третья версия? А то вдруг даже и вторая?
А ещё у него может быть калькулятор на пентиуме.
Ну, пусть туда ставит Windows, oh wait
Купить за эти $50 б\у системник на целероне, и прекратить насиловать проц для медиаплеера, в попытках сделать из него сервер.
в винде оверкоммит запрещен. а линуксе кстати тоже можно его отрубить.
И потерять возможность использовать значительную часть оперативки
>Если хотите нормальный OOM-Killer в системе, используйте MS WindowsТолько вот память в этой ОС используется куда менее эффективно, так как нет нормально работающего кэша ФС
И тут я вспоминаю. "Файл скопирован" на флешку юсб 2.0 со средней скоростью 150(!!) мб/с. Отсоединить устройство. Ой, простите, оно busy (в реале будет писаться ещё минут 5. Как закончим, мы вас сообщим.. смотря в каком мы DE/WM.. а то ещё и это не факт). И этот детский лепет я вижу до сих пор. В Вин ХР такого не было! Да и в 98 вроде тоже.
> В Вин ХР такого не было! Да и в 98 вроде тоже.да. в 98 был синий экран с надписью прямо посередине: "васян, ты совсем дурак? Верни флэшку на место, я ее еще не дописала, дурень!"
иногда даже на самом деле удавалось, вернув на место, нажать там OK. Чаще все висло к х.ям.
В XP Билл осознал проблему, и отключил намертво любое кэширование при обращении к внешним носителям (внешим hdd тоже), а заодно и возможность создавать на них fs посложнее fat. К счастью, немного протрахавшись, его все еще можно было включить обратно (если знать, почему оно ТАК тормозит). С fs ситуация улучшилась только к семерке.
Вы из пещеры? Из лесу? Виндовз 8, Виндовз 10 пользовались?
да, кэширование сменных носителей в них все так же отключено напрочь.
Что в моем лесу, что в вашей пещере.каждый раз, чертыхаясь, включаешь обратно на каждой незнакомой системе флэшке.
"удобно", обоср..ся. Зато об умственно-отсталых позаботились, да. Теперь у них флэшка не накроется из-за того что ее дернули на ходу, наплевав на мигающие индикаторы, теперь она накроется потому что запилится до дыр, ну и кому их жалко - пойдут новыми деньгами осчастливят китайца.
Даже с включённым кешированием на винде прогресс записи отображается адекватно.
Да пусть хоть в Семёрке. А сколько ей лет? А у вас до сих пор этот детский горшочек.
>> а заодно и возможность создавать на них fs посложнее fatВот тут вы батенька не правы. Как минимум с Висты (не к ночи будь помянута) флешки ИЗ КОМАНДНОЙ СТРОКИ можно форматировать во всё, что поддерживает ОС. У меня воообще несколько флешек для использования в вантузе 7 и выше - живут под UDF2.5 и здравствуют. (exFAT считаю проприетарным говном и не пользуюсь).
>>> а заодно и возможность создавать на них fs посложнее fat
> Вот тут вы батенька не правы. Как минимум с Висты (не к
> ночи будь помянута) флешки ИЗ КОМАНДНОЙ СТРОКИ можно форматировать во всё,это был специально оставленный геморройный обходной путь для сильнопродвинутых. Тем более что к этому моменту их уже нельзя было из командной строки сделать обратно кэшируемыми.
> (exFAT считаю проприетарным говном и не пользуюсь).держи нас в курсе.
> держи нас в курсе.ОК :D (Gentoo RULEZZ! :D )
>В Вин ХР такого не было! Да и в 98 вроде тоже.в 98й там и особо usb2.0 не было, просто тогда размеры файлов были меньше и люди терпеливее
в 98se2 уже было. Тогда и флэшки были очень медленные, и дискеты 3" еще вполне использовались одновременно.Ну, правда, еще не было немодно не иметь индикаторы активности на них.
> не было немодно не иметьКрасиво загнул. Тройное отрицание...
"Не обнаружил наличия его отсутствия"
OOM Killer включен по умолчанию и проблему не решает.
kernel.sysrq = 1 в /etc/sysctl.conf или в /etc/sysctl.d/название-твоего-нового-конфига.conf (зависит от дистрибутива - что есть, туда и пихай)
Когда настанет большой и пушистый, нажать Ctrl+Alt+SysRq+F
ctrl лишний
При большом и пушистом клава не обрабатывается, так что о magic sysrq можете забыть.
ниразу небыло ситуации когда бы sysrq не обрабатывалось
и кокраз sysrq+f зачастую спасало последнее время на работе, изза затекающих, скажем так, программ
в целом можно еще sysrq+r пнуть, но на sysrq+... оно не должно вроде влиять
Бывает что не отрабатывает, но это какой-то очень специфический кейс например когда видеодрайвер повис при этом (привет блобу нвидиевскому). Клава может не реагировать вообще, поэтому или нажать rf пару раз и подождать или сработает только sysrq+b (это очень неприятно, но другие могут не срабатывать сколько ни жди). Без проблем r можно жать хоть до посинения перед этим, если он пройдёт то остальные тоже заработают.
> При большом и пушистом клава не обрабатывается, так что о magic sysrq
> можете забыть.На самом деле, кое-кто не в курсе что такое ISR и о требованиях к ним. Не думаю, что он большой и пушистый, но лучше бы помолчал.
sudo systemctl start oom-killer
Добавить OOMK в автозагрузку:
sudo systemctl enable oom-killer
Линух виснет намертво с загрузкой диска 100% с полным отсутствием реакции на любые действия. Сам выходит из этого состояния чере пару часов, когда попадает всё запущенное (виртуалки, браузеры, компиляторы). Ловлю это постоянно на Centos 7 (на Centos 6 не наблюдалось никогда) и debian 8/9. Swap включён. На Solaris 11 и *BSD ничего подобного не наблюдется.
винт hdd?
Да что вы приклеились к ssd как к великому исцелению. Это же только скрывает симптомы, а не решает их.
на самом деле на куче пк на винде основная причина торможения - херовая работа с винтом, что видно в диспетчере задач. аналогично в линуксах. iotop показывает стопроцентную утилизацию. проблема в количестве iops. ссд имеет их на порядок больше. а nvme еще на порядок
Виснет линукс, а проблемы у винды. Хм.
линь может виснуть изза перегруза по иопсам. наблюдаю что то похожее на orange pi one при компиляции софта. loadы пробивают 10ку на 4 ядрах. утилизация по иопсам 100%. видимо у тебя что то похожее. отдай эти 20 долларов за ссд и почувствуй разницу
Линукс виснет из-за того, что приложение запросило больше памяти, чем доступно, при отключенном свопе.
Линукс виснет оттого, что система эта не для десктопов, а для серверов и эмбеддеда. Поэтому починку этого бага в ядре никто из большого бизнеса не оплатит. У них там фиксированные конфигурации, веб сайты не открывают, потребление памяти известно заранее, под него машины и покупаются. Даже Valve с Google не оплатят, ибо если было бы целесообразно оплатить, гугл бы оплатил ещё в 2008.
Нет никакой разницы, чем забивать память - процессами хрома или процессами апача/php-fpm. Если система не в состоянии нормально разрулить ситуацию с памятью, то это не use-case'ы не те, а ОС - гно.
есть. Но альтернативно-одаренные не в силах ее понять.Нет, система не в состоянии "нормально" что-то там "разрулить", когда память банально кончилась.
Это альтернативно-одаренные тоже понять не в силах.OC -гно, потому что не смогла взять память из ниоткуда, вот те на!
ОС гно потому, что сначала обещает памяти процессам больше, чем у нее физически есть, а когда эту память ВНЕЗАПНО начинают использовать, ВНЕЗАПНО выясняется, что она понятия не имеет, что в таких случаях делать, кроме как морозиться. Хорошая, продуманная ОС.
Т.е. одно приложение намертво вешает всю систему? зашибись
Когда SWAP на SSD проблема ещё хуже.
когда инженеры додумались написать алгоритмы распределения информации по ячейкам (что усложнило затирание от тов майора, но апаратный aes на новых ssdшках решил вопрос) то оказалось что ссдшки работают долго со свопом. плюс прогрес. через 5 лет всеравно придется менять на новую.
вам не надоело форсить этих тов майоров?
Но, ведь, это действительно проблема, как гарантированно забить константными или случайными значениеями гарантированно все ячейки утилизируемого SSD. Пока только физическое уничтожение оного.
на ссд аналогичено, 2 часа не ждал, а просто на ресет исправлял
лапки?
Линукс - это такая система, которой нужны сильные волосатые заботливые мужские руки! Шестипальцевость приветствуется!
Ееще крайне интересно себя ведет когда место на диске заканчивается (без всякого предупреждения естественно). Качаещь что-то или копируешь, вдруг все виснет и новый софт не запускается (еще бы, ведь чтоб прога файлменеджера звпустилась надо на диск обязательно писать!). Оконный менеджер вылетает. ПОлная хрень. В итоге надо в консоли ползать и чистить диск. Ага, юзерфрендли. В гуй не зайти при полном диске.
Я ещё года 3 назад рапорт писал что OOM Killer не срабатывает автоматически, только вручную.
https://bugzilla.kernel.org/show_bug.cgi?id=190151
Но апстиму пофиг. :-(
Причем настолько пофиг, что люди сами пишут эти oom killer'ы. Давече проскакивало и здесь и на лоре вроде.
даже 2 разных реализации.
4 реалиизации:- earlyoom - лёгкая универсальная
- nohang для десктопа и сервера
- oomd для серверных парков
- lmkd для Android
Это как минимум.
Мало кто из разработчиков ядра читает багзиллу. Тыщу раз об этои уже писали в листах рассылки, которые вы не читаете. =P
sudo sysctl vm.overcommit_memory=2можете не благодарить
Не благодарю - хром/фф больше не работают
ну вот. и память больше никто и не жрет!
> - Выключаем поддержку swap (sudo swapoff -a)
> - Запускаем любой веб браузер, например, Chrome/Chromium или/и Firefox
> - Начинаем открывать вкладки с сайтами и смотрим как уменьшается объём
> свободной памятиПерезагружаться мне влом, но:
% config -x /boot/kernel/kernel|grep SWAP
options NO_SWAPPING% more /etc/sysctl.conf
vm.disable_swapspace_pageouts=1
vm.pageout_oom_seq=4
kern.sched.preempt_thresh=224
# kern.sched.interact=10% /usr/bin/time -l python -c '{x:str(x)*(x**x**x) for x in range(100000000)}'
time: command terminated abnormally
9,80 real 0,80 user 3,91 sys
6145052 maximum resident set size
3 average shared memory size
10 average unshared data size
116 average unshared stack size
1532799 page reclaims
13 page faults
0 swaps
13 block input operations
0 block output operations
0 messages sent
0 messages received
0 signals received
21 voluntary context switches
561 involuntary context switches
zsh: killed /usr/bin/time -l python -c '{x:str(x)*(x**x**x) for x in range(100000000)}'
Для не понявших: свопа нет от слова совсем (хотя лишний SSD под него, как ни странно, имеется), но выжирание памяти не ведет к тормозам (или тем более зависанию) и заметно лишь по факту закрытия самых жирных приложений.% uname -rs
FreeBSD 12.0-STABLEЕсли что - лицензия позволяет утянуть^W позаимств^W вдохновиться, нам не жалко ;)
ЗЫ:
И да, это тебе, дорогой лап4атый с особым подгоранием и странной тягой к самозванству и изречению "вумностей" из под чужих ников, не про UNIX-сность петросянить и не проприетарными блобиками или игрульками гордиться ))
Воот! FreeBSD пишется людьми знающими, и тоже профессионалами как и MS Windows, собственно MS даже и берет код из BSD, потому что всем понятно его качество. Это вам не линуксовый "базар"!
Жаль только zram нету.
Ты имел в виду нормального шедулера и драйверов?
> Ты имел в виду нормального шедулераНормального - это как в "новости", чтоб с " система практически полностью зависает. "? Не, нету ((
> драйверов?Зато у вас в WSL все есть, мы в курсе.
> но выжирание памяти не ведет к тормозамприведет. А может и к зависанию, если в этом бутерброде есть zfs.
Просто надо выжрать ее менее ди6ильным способом.
Помочь?
>> но выжирание памяти не ведет к тормозам
> приведет.Ну вот описаную ситуацию
> Выключаем поддержку swap (sudo swapoff -a)
> Запускаем любой веб браузер, например, Chrome/Chromium или/и Firefox
> Начинаем открывать вкладки с сайтами и смотрим как уменьшается объём свободной памяти
> Как только возникает ситуация, что новая вкладка требует больше оперативной памяти, чем доступно, система практически полностью зависаеткак-то не наблюдал.
Даже при дефолте vm.pageout_oom_seq - тупит только пару секунд.> А может и к зависанию, если в этом бутерброде есть zfs.
О да, использовать для настольной системы оверижЫнирнутого монстра с собственным, "правильным" менеджером ядерной памяти, это правильно!
Правда, под пингвином оно на вид тоже не сильно по другому себя ведет:
https://github.com/zfsonlinux/zfs/issues/3677
> rsync causes ZoL to use all memory until system crashes STILL :(https://github.com/zfsonlinux/zfs/issues?utf8=%E2%...
> Просто надо выжрать ее менее ди6ильным способом.
> Помочь?А давай!
> Ну вот описаную ситуациюну потому что он все неправильно делает.
buffer cache настал каюк, да, а про то что в ядре полно мусоросборочных тредов, запускающихся по таймеру - не подумал.> А давай!
ну подсказка - см выше. Собственно, во времена ядер 2.0 и очень медленных дисков был прекрасный способ посмотреть на ядерные дидлоки - cd /usr/src/linux ; make -j zImage
(тут тебе и кэши, и память, и своп, и отсутствие у cpu времени на всякую периодическую мусоросборочную ерунду ;-)Иногда оно раньше успевало навернуться по нехватке памяти, а иногда нет. Сейчас такой эффект уже так просто не получишь, но если стараться - то тоже можно.
Собственно, на ту же самую проблему я в 17м году нарвался во фре, только там хватило -j4 + zfs на медленной системе (сборка libllvm очень, _очень_ cpu intensive процедура)
Причем дидлок-то не в zfs (точнее, и в ней тоже был, но его, с великим трудом, удалось, вроде бы, извести), она просто позволяла лучше рассмотреть его наличие. С тем же успехом можно было сожрать ту же память сетевыми буферами, просто воспроизводить в разы геморройнее.Механизм все тот же - отожрать cpu, иметь в системе приличное количество свободной но не "свободной с ее точки зрения" памяти (чтобы in-kernel тредам было чем заняться, но они не смогли завершиться достаточно быстро, как в тех ситуациях, которые предполагали и которые проверяли авторы) с максимальной фрагментацией (привет, abd!) и резко этой памяти захотеть.
>> Ну вот описаную ситуацию
> ну потому что он все неправильно делает.
> buffer cache настал каюк, да, а про то что в ядре полно
> мусоросборочных тредов, запускающихся по таймеру - не подумал.Только описанная ситуация вполне подходит под типичный юзкейз - открыл в дополнение жрущей виртуалочке браузер почитать опеннет - и на тебе.
> Собственно, на ту же самую проблему я в 17м году нарвался во
> фре, только там хватило -j4 + zfs на медленной системе (сборка
> libllvm очень, _очень_ cpu intensive процедура)
> Причем дидлок-то не в zfs (точнее, и в ней тоже был, но
> его, с великим трудом, удалось, вроде бы, извести), она просто позволяла
> лучше рассмотреть его наличие. С тем же успехом можно было сожрать
> ту же память сетевыми буферами, просто воспроизводить в разы геморройнее.Собственно, я это воспроизвожу где-то раз в месяц на старенькой системе 2010года с двухядерным ЦПУ и 8ГБ ОЗУ.
Там же, до недавнего разжирения еср-лисы, собирал ее c "правильными" опциями.
C WRKDIRPREFIX на 5ГБ tmpfs, без свопа, с отрытым браузером, почтовиком, и прочим. И llvm включительно 8.0 собирал в том же tmpfs. На последних версиях (то ли лисы, толи llvm, то ли обоих), под конец сборки для линковки приходилось закрывать жирную лису и вроде бы даже увеличивать tmpfs, иначе линковка завершалась с "оом". В общем, загрузка ЦПУ и ОЗУ, подходящая под описание и совсем не синтетикой - но без чудо-ZFS.А, еще, пару раз, почитав опеннет, пробовал запустить 4x-6x "python -c 'while True:pass' - правда, это больше на посмотреть разницу между дефолтным
kern.sched.interact=30 и 10 в отзывчивости GUI. Никаких фризов и дедлоков не наблюдал.
О своем отношении к ZFS еще раз писать не буду - тут вспоминается пословица про крейсер и небольшую, но гордую страну. В итоге и крейсер прос^Hржавел вконец и инфраструктура страны обветшала и жители большей частью слиняли.Разъясняю особо: "ненаблюдал" != "их нет, вы все врети". Но есть разница - наблюдать при достаточно типичном и легковоспроизводимом юзкейзе или же если для наблюдения придется натянуть лыжи, противогаз и забраться в гамак.
А "дедлок" из-за нехватки памяти воспроизводится довольно просто:
1. не ограничивать vm.kmem_size размером (ОЗУ - пара сотен МБ)
2. отключить своп (впрочем, включенный вряд ли сильно поможет)
3. примонтировать tmpfs или MD с размерами >= ОЗУ (размер придется задать ручками, по умолчанию максимальным размером будет половина свободной памяти)
4. заполнить его записью чего угодно
наблюдать за тем, как ООМ будет прибивать все нафиг, в том числе и локальные или удаленные сессии.
Однако, если немного повезло, то сессию вместе с "заполнителем" отстрелило достаточно рано, чтобы осталось памяти на ssh ffo@bar 'cmd' для починки.Еще не раз видел, как при сильной фрагментации памяти (привет современные браузеры после пары дней работы), т.е.
> в системе приличное количество свободной но не "свободной с ее точки зрения" памяти (чтобы in-kernel тредам было чем заняться, но они не смогли завершиться достаточно быстроpagedaemon начинает неплохо отжирать CPU без какого либо эффекта, а вот оом киллер как раз не спешит - ведь памяти достаточно. Лечится только перезапуском браузера.
Но вот чтобы еще и было особым образом отожрано все CPU (и это, повторю, на весьма средней даже по "консумерским" меркам еще 10-летней давности, системе) и наступил этот вот описанный "белый и пушистый" deadlock - ни разу не совпало.Т.е. опять или достаточно специфичная ситуевина или же вообще, очередные
> (привет, abd!)"приветы" из реализации ZFS.
>>> Ну вот описаную ситуацию
>> ну потому что он все неправильно делает.
>> buffer cache настал каюк, да, а про то что в ядре полно
>> мусоросборочных тредов, запускающихся по таймеру - не подумал.
> Только описанная ситуация вполне подходит под типичный юзкейз - открыл в дополнение
> жрущей виртуалочке браузер почитать опеннет - и на тебе.а если не браузер а разбиралку фоточек с отпуска? Отож.
> Собственно, я это воспроизвожу где-то раз в месяц на старенькой системе 2010года
у меня воспроизводилось 100%, чем и было ценно. Но когда дошли руки до тестов - я уже получил "фирма в ваших услугах более не нуждается" (откуда, собственно, и взялись два месяца на подобную деятельность вместо работы), а выкупать тот ноут по негуманной остаточной цене не входило в мои планы.
https://imgur.com/rBBJwOU
это -j3 - на больше там памяти не хватило бы.Так что успели только убедиться, что отключение arc compression и/или abd scatter проблему загоняет под ковер - когда каждая итерация занимает несколько часов, когда ноутом пользоваться толком нельзя, два месяца - ни о чем.
Но дохло оно не в abd, подчеркиваю - оно дохло вполне себе в ядерном сборщике мусора.
> О своем отношении к ZFS еще раз писать не буду - тут
говорю же - на ней просто удобно тестировать. Так устроен zone manager.
В ядре полно других zones, где сперва может застрять пол-гига, а потом очень невовремя разбудить какой-нибудь тред, который полезет их перебирать мелкими шмотками с глобальным локом (или, хуже - с ошибкой в глобальном локе - что скорее всего и происходит) именно когда и памяти не хватает, и ядер свободных нет.> - наблюдать при достаточно типичном и легковоспроизводимом юзкейзе или же если
> для наблюдения придется натянуть лыжи, противогаз и забраться в гамак.владельцам раздающих cdn ничуть не веселее от того, что это неудобно воспроизвести (там такая же фигня в зоне для jumbo_mbuf).
> наблюдать за тем, как ООМ будет прибивать все нафиг, в том числе
> и локальные или удаленные сессии.так это не дедлок, это просто кончилась память. Вот на картинке - там он. Мертвый. При дофига свободных ресурсов.
> pagedaemon начинает неплохо отжирать CPU без какого либо эффекта, а вот оом
он бегает по куче сложных структур, перебирая странички по 4k (привет, линукс) - которых в гигабайте как бе 260000 - и, не найдя ничего ненужного, начинает снова.
> "приветы" из реализации ZFS.
из реализации любой in-kernel памяти.
изя залогинься...
Я чёт не понял юмора…$ /usr/bin/time -v python -c '{x:str(x)*(x**x**x) for x in range(100000000)}'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1, in <dictcomp>
MemoryError
Command exited with non-zero status 1
Command being timed: "python -c {x:str(x)*(x**x**x) for x in range(100000000)}"
User time (seconds): 2.91
System time (seconds): 0.63
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.55
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 3189080
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 796402
Voluntary context switches: 0
Involuntary context switches: 357
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 1Свапа в системе отродясь не было, Firefox открыт, никакие приложения закрыты не были… Ты что хотел сказать-то?
> Я чёт не понял юмора…
> Maximum resident set size (kbytes): 3189080У тебя юмор в том, что или есть лимиты:
% ulimit -v 30000
% /usr/bin/time -l python -c '{x:str(x)*(x**x**x) for x in range(100000000)}'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1, in <dictcomp>
MemoryError
0,06 real 0,05 user 0,00 sys
7664 maximum resident set size
4 average shared memory size
или оно просто "не шмагло" зарезервировать непрерывный кусок памяти > 3ГБ.В первом случае профит от лимитов будет только при грамотной организации всего запускаемого барахла (иначе значительная часть ресурсов будет просто простаивать).
Во втором, если свободной памяти было значительно поболее 3ГБ, это как бы вообще индикатор проблемы с менеджментом памяти. Из предоставленной информации не понять.
Можешь попробовать
python -c '{x:str(x)*1024*3 for x in range(1000000000)}'
в качестве заполнялки памяти или написать свою.> Свапа в системе отродясь не было, Firefox открыт, никакие приложения закрыты не были… Ты что хотел сказать-то?
Попробовал python -c '{x:str(x)*1024*3 for x in range(1000000000)}'htop показал 100% загрузку памяти, затем питон всё равно был убит. Никакого зависания не было.
> в качестве заполнялки памяти или написать свою.
Я не писатель, я просто попробовал у себя.
в таких ситуациях принято упрекать юзера в криворукости, что уже многие годы позволяет не решать проблему
ну вообще то когда прога запрашивает ОЗУ, ей выделяется область commited memory - она просто промапленна, но там нету данных.я не раз замечал что в swap сливаюся commited, но пустые страницы.
И в Windows Такое поведение тоже наблюдал пару раз.ЗЫ. "mem=4G" а зачем это ограниение ставить?
>ЗЫ. "mem=4G" а зачем это ограниение ставить?Чтобы быстрее стриггернуть проблему
Ваш К.О.
ааа. ну тогда ок.Но я все таки не понял самой проблемы которую тут описывают - кончилось ОЗУ.
Система не может грохнуть аппликуху чтоли?
У меня много раз был OOM kill на проде и я в первый раз вижу вот такую жалобу.
И Windows и Linux у меня часто делали OOM-Kill аппликухи если ОЗУ кончилось.
> Система не может грохнуть аппликуху чтоли?не может - там специально наулучшали для нашего всего - безмозглых пользователей с кривыми руками, и активную задачу он не убивает. А больше в этот момент у пользователя ничего не работает, он однозадачен, поэтому и память не выделяется.
oom на каждый чих не вызывается. Почитайте описание.
Насколько помню, только при попытках взять из buddy блок меньше 3-го порядка (4к*2^3) в ситуации, когда *доступной для выделения* памяти осталось меньше заданного low_mark.В иных ситуациях приложению просто возвращают кукиш (NULL) и дальше — его проблемы. И это как раз стреляет на десктопах: толпа жирных процессов принимается толкаться локтями. Без шансов на успех, т.к. никто не озаботился орбитражем.
ынжой ёр x_64
> Начинаем открывать вкладки с сайтами и смотрим как уменьшается объём свободной памяти.Дык! Ты знаешь, сколько всякого js-говна будет загружаться с *каждой* вкладкой? ЫЫЫ. Даже на опеннете на индикаторе блокировщика уже циферка «3», а кое-где легко может быть и 33, и больше.
Это не касаясь вопросов что это вообще тут делает, и что некоторым комп нужен не только для запуска браузера..
А какого именно блокировщика? У меня на значке uBlock Origin в данной теме - 9, на значке Disconnect.me - 3.
О, сколько раз я был об это лицом.
Кстати, индикатор жесткого диска будет моргать из-за того, что ядро делает coredump.
Нет.Ядро в этой ситуации выгружает исполняемые страницы памяти на жёсткий диск, чтобы выделить ещё больше памяти, однако исполняемые страницы надо ... исполнять, ядро их читает обратно - практически бесконечный цикл и дикая нагрузка на IO.
На LKML/Hacker News объяснили - я сам не догадался.
// b.
Тогда, для полноты эксперимента, нужно ещё и хард забить на 99%
А куда оно их выгружает если swap нету?
Успешно словил пару дней назад на компе с 8GB оперативы. Новые времена настали :(
Я тожн на днях, при том своп включен, но не использовался
> Я тожн на днях, при том своп включен, но не использовалсяА это потому, что господа ядроделы совсем свои патчи перестали на утечки памяти тестировать - я только за этот год уже несколько раз видел, как из ядра утекало по паре мегабайт в минуту. Но зато Code of Conduct запилили - хоть это радует. Теперь там не притесняют не только тех, кто не умеет программировать, но и гендерно небинарных, например. Радость, счастье.
а зачем вам 150 открытых вкладок в хроме?
Хм... У меня в Фаерфоксе и по 500 бывает (лень закрывать). И ничего. Не ловил проблему ни разу.
Виртуалка без приложений + Скайп + 2 хромых по паре вкладок + SQL Developer = 7.6Гб и фриз.
Годом ранее после включения свопа решил проверить, запустив 2 виртухи: часть системных файлов после резета оказалась битой, кое-как повторными установками пакетов поддомкратил бессмертный линух.
Логичней браузер ограничить суммарно на 1-2G в этом случае
Да всё ограничивать, чего уж там. Грамотно расставить оградочки и Линукс снова работает.
ага, и будет браузер падать на двух вкладках.
Сайтописателей принудительно пересадить на сервант с 2-мя Гб рамы. И пороть кнутом.
> Сайтописателей принудительно пересадить на сервант с 2-мя Гб рамы. И пороть кнутом.2 гига — это слишком королевский компьютер для таких обезьян. 256 метров на всё про всё — и пущай кодят.
Фреймописателей скорее.
> Фреймописателей скорее.Всех. Чтоб не плодили сущностей сверх необходимостей.
На ноутбуке с 8 гб памяти, если Darktable попросит больше, её пристреливает OOM. Много раз ловил такое поведение, бесился, крутил настройки Darktable, надоело, включил свап, теперь просто получаю тормоза при экспорте, хотя иногда всё равно падает зараза.Может, проблема не в том, как работает OOM в Linux, а в том как поедает память Chrome?
Линукс-Хром виноват. А на винде то другой Хром.
Я не знаю, какой в видне хром, я не пользуюсь ни виндой, ни хромом.Но раз поведение зависит от вида задачи, значит, задача как-то влияет.
Умные люди в таких случаях пишут бенчмарки, тесты и воссоздают условия не в хроме, в коде которого чёрт ногу сломит, а в лабораторных условиях и на тестовых вызовах.
А что тогда вы комментируете?
> Но раз поведение зависит от вида задачи, значит, задача как-то влияет.Зависит от работника.
Один видит задачу - напивается и ложиться спать под стол. Другой - засучивает рукава, стискивает зубы и делает. Да ладно, винда ничего не стискивает. По крайней мере, пользователь этого не видит и, что главное, не ощущает.
Во фре такая же непотребность.
Тоже сильно бесит.
Вот посмотришь по RSS сумма занятого процессами скажем 16ГБ, при 32ГБ на борту, а система уже лезет в своп.
Поставил 64Гб - опять летезет в своп, притом что сумма RSS явно никогда до 32ГБ не доходит.
WTF!?А вот в венде как то нормально без свопа жилось - приложение просто получало по рукам (malloc() возвращал NULL) и либо падало либо одумывалось.
Такое вроде и на фре и линухе можно включить, но хз насколько потом жить будет удобно.Со свопом получается что самые старые страницы которые туда попали - просто затираются новыми, насколько я понял.
А когда свопа нет приложению неоткуда взять новую страницу памяти, так бы оно скинуло в своп и отдало память.
>Поставил 64Гб - опять летезет в свопСтраницы смещаются в swap в зависимости от частоты использования.
http://www.ico.aha.ru/h/The_Design_and_Implementation_of_the...
Swapping
Although swapping is generally avoided, there are several times when it is used in FreeBSD to address a serious memory shortage. Swapping is done in FreeBSD when any of the following occurs:
- The system becomes so short of memory that the paging process cannot free memory fast enough to satisfy the demand. For example, a memory shortfall may happen when multiple large processes are run on a machine lacking enough memory for the minimum working sets of the processes.
- Processes are completely inactive for more than 10 seconds. Otherwise, such processes would retain a few pages of memory associated with their user structure and thread stacks.
> Во фре такая же непотребность.
> Тоже сильно бесит.
> Вот посмотришь по RSS сумма занятого процессами скажем 16ГБ, при 32ГБ на
> борту, а система уже лезет в своп.Так оно по умолчанию и задуманно - потихоньку в фоне выгружаем все второстепенное, чтобы, когда "прижмет", можно было не "тупить" в ожидании диска, а сразу освободить память. Крутилки для изменения поведения имеются.
Но тут тема вообще-то о "тупиже" при нехватке памяти _и_ отключенном свопе. Оверкоммит и "проверять возврат malloc бесполезно!ваш новый стандарт!" передают приветы ))
Ну , а какие дистры проблемные ? Битность итд. Вот я сижу и раздаю свой образ изготовленный и приправленный новым ядром и хромиумом версия 19.04 64 битка от убунточки и вроде ничего у меня не виснет и пользователи думаю довольны. А , какие виснут ничего не написали ведь проблема может быть и в пакетах об этом я в блокнотике написал и оставил что бы эти два пакета никогда не ставили. Крч марки проблемных дистров в штудию
Пося, ты?
Клоун
640K ought to be enough for anybody
640GB в современном мире, ну или как минимум в ближайшем будущем
Не совсем.
20 лет назад 32 мб было даже многовато, с запасом - это точно.
Вот и сейчас, 32гб - в самый раз чтобы не парится :)Всякие видеокарты тоже были сопоставимо 1-8 мб, так и сейчас они 1-8гб :)
Диски были 1-13Гб, и чейчас они не больше 10-12ТБ :) А ссд так и до терабайта с трудом дотягивают из за ценников в масс сегменте.
дада, я тоже подумал именно об этих цифрах когда писал
но нужно же было сохранить 640 :)
в целом я 32 гига рамы уже два года не могу ниразу задавить :)
но это просто максимум что влезало в мою мать - так бы и 640 засунул :)
Если тебя так заботит именно 640, то венда после загрузки потребляет примерно столько мегабайт :)
По крайней мере семёрка где то 400-500 метров.
>можно воспроизвести меньше, чем за несколько минут на последней версии ядра Linux 5.2.6Лол, этим грешит любая версия. А еще лютые проблемы с io до сих пор, бл. Стоит только начать копировать фильмы на флешки и т.д. 21-й век, бл.
Не очень понимаю про что конкретно речь, но судя по вашему описанию создаётся впечатление, что вам нужно просто снизить vm.dirty_ratio
Чего нужно снизить? :))
Виртуальная машина грязное рация
а нельзя просто сделать так, что бы при нехватке памяти автоматически создавался своп файл с авто увеличением размера?
Например, на многих embedded системах вообще нет вообще носителя как такового - только ROM и RAM.Сферический вакуум будете в качестве swap использовать? :-D
для десктопа сойдёт
Можно. Вроде даже является альтернативным методом создания свопа этим вашим Linux Swap, на арчлинуксовом гайде читал.
Кто-нибудь в OpenBSD проверял наличие такой проблемы?
В DragonFly полюбому должно быть лучше, помнится Дилон как раз чем то таким занимался когда то.
Похоже Bloomberg добрался и сюда.
Автору новости:Вижу твой тикет на bugzilla с текстом:
> I'm curious why in this situation the kernel starts doing _massive_ amounts of disk IO - I don't even understand what's being read or written since SWAP is disabled, and all applications are in RAM doing pretty much nothing.
Это вызвано отсутствие page cache, когда ОЗУ сожрано.
С cgroups еще проблема еще есть на докерах. Контейнер уходит в безумный своп, даешь 32мега на haproxy, а озу только 3гб, оно начинает использовать диск безумно. Решается полным отключением свопа на ноде. Vm.overcommit.memory=1
Vm.memory.swappiness=0. Начинает килять его при достижении oom score. Вешаешь мониторинг на oom, profit.
А что лучше zram или zswap? Можно их одновременно?
Они выполняют совершенно разные задачи: https://stackoverflow.com/questions/18437205/difference-betw...
Я понимаю и поэтому спрашиваю про одновременное использование.
Это был ответ на вопрос "что лучше". А использовать одновременно теоретически ничего не ограничивает, хотя лично я не пробовал. Более того, вы можете определить приоритеты (см. `swapon --help` и `man swapon`).
Что лучше тоже наверное можно и ответить - траблы, эффективность в широком смысле. Какое мнение?
По ссылке выше неплохо отвечено на данный вопрос :)Добавлю лишь: что если поиграть в телепата исходя из того, как сформулирован вопрос, то создаётся такое ощущение, что zram вам будет всё же лучше: он работает полностью в памяти, что снижает риски пониженной доступности из-за глубкого ухода в swap. Однако оба зачастую не спасают, а лишь создают дополнительную неширокую прослойку между состоянием хорошей доступности и состоянием плохой доступности (отодвигая состояние плохой доступности немного дальше). Но пока не сформулирована задача, которую вы пытаетесь решить, это лишь гадание на кофейной гуще :)
Благодарю!
ZRAM. Предлагаю самостоятельно подумать почему :)
Это только часть айсберга.Действительно, наблюдаются проблемы с выделением памяти и производительностью, несмотря на регулярный пере-сброс свопа. Это помогает временно, потом идет нарастающая регрессия постепенно.
Через какое-то время просто вынуждает пере-загрузиться. Особенно заметна подобная деградация памяти и снижение производительности после выполнения штатных обновлений на примере gentoo. Не исключено, что тут может добавлять еще тормозов постепенно файловая подсистема (ext4)
Вообще, пробовал с минимальными параметрами свопа - еще хуже. Пока, стараюсь реже обновлять - в крайнем случае glsa-check -t all.
Для тестирования отзывчивости системы довольно полезно задействовать работу десктопа + установка тяжеловесных обновлений в Gentoo на типовом ноутбуке со средними характеристиками.
> потом идет нарастающая регрессия постепенно.Так посмотрите что у вас жрёт ресурсы. Есть же огромное количество инструментов для этого. Серверы работают годами без перезагрузки (что плохо из-за отсутствия update-ов, но это отдельная тема) и таких проблем не наблюдают.
Просто декомпозируйте вашу систему, найдите источник проблемы и устраните её. Новичкам в Linux иногда любят показывать эту картинку: https://blog.selectel.com/wp-content/uploads/2017/06/pr-490.jpg
починили вроде https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
т-у-п-о-р-ы-л-ы-й парсер!
id=b56a2d8af9147a4efe4011b60d93779c0461ca97
для предыдущей ссылки
это хорошо, если так, благодарю за ссылку
указанные патчи установлены, (причем chromium запускается в firejail) - у меня относительно свежие ядра от gentoo, сейчас поставил 5.2.2 - после рестарта полет нормальный пока один день uptime без компиляций и рестарта приложений
> починили вроде https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...это другая история, забавно что только сейчас починенная - когда все либо висло, либо задумывалось на неделю при swapoff - при наличии доступной для этой процедуры памяти.
> Это только часть айсберга.еще один момент:
после завершение работы приложений (процесса: например - закрытие вкладки окна хромиума, выход из firefox, thunderbird, DE (KDE), kill Xvnc, просто logout, reboot) происходит довольно длительное высвобождение ресурсов, сопровождающееся постоянным обращением к диску. Надо будет попробовать перед выгрузкой сделать sudo sh -c "swapoff -a ; swapon -a" для чистоты эксперимента.
Такое впечатление, что система не очень эффективно работает с аллокацией/де-аллокацией памяти. В идеале было-бы неплохо, когда это происходит практически мгновенно и действенно. На например самое простейшее просто резервирование блоков памяти.
Конечно, на моем ноуте не самый быстрый hdd и запланирована замена на SSD, но хотелось бы понять в чем дело - ядро, это или тормозное DE или просто слабоватое заурядное железо или вообще такой дизайн ...
Это проблема не только на уровне ОС, она присуща почти всем программам. Ни кто из программистов не усложняет код для проверки свободной памяти.
Про BSD писали, ага видали, как зацикливается сборка пакетов сжирая память, благо падения ядра не наблюдается. Количество памяти значение не имеет.
Стоит менять подход к программированию.
>Ни кто из программистов не усложняет код для проверки свободной памятигы...
$ grep -r 'if.*alloc' /usr/src/sys/ | wc -l
3132вообще это норма проверять успешное выделение памяти.
if ((p = malloc(1)) == NULL) {
что_то_тут_совсем_не_так();
пока_пока();
}
>if ((p = malloc(1)) == NULL) {В Linux эта проверка бесполезна, вам вернут адрес и но вы упадете.
Опасное заблуждение. Можно ограничить размер виртуальной памяти через ulimit -v и будет возвращать NULL даже при включенном оверкоммите.>вы упадете
Проблема именно в том, что вместо падения приложения вся система встаёт. Слишком много времени уходит, прежде чем наконец-то начинает работать OOM-killer.
>>Ни кто из программистов не усложняет код для проверки свободной памяти
> гы...
> $ grep -r 'if.*alloc' /usr/src/sys/ | wc -l
> 3132
> вообще это норма проверять успешное выделение памяти.
> if ((p = malloc(1)) == NULL) {
> что_то_тут_совсем_не_так();
> пока_пока();
> }"Ваш новый стандарт!" же:
https://bugzilla.mozilla.org/show_bug.cgi?id=335951
> Lots of missing checks for out-of-memory.
> 5. On Linux, desktop boxes are usually configured to "overcommit" memory, i.e. app never sees NULL from malloc. Kernel just kills the "worst" process when it gets REALLY tight on memory.))
Opened: 14 years ago
Updated: 7 years agoПрэлэстно.
А на винде другие программы с другими исходниками, да?
Стоит подойти к пределу выделяемой Windows виртуальной памяти и посмотреть реакцию? Программа запрашивает выделение памяти и получает положительный ответ, она не понимает заканчивается память или нет, это работа менеджера памяти. Тут и нет взаимодействия для остановки процесса и принятия иного решения.
Тоже мне новость. Поясните лучше, почему Linux не грохает к херам программу, которая решила «шикануть»?
потому что если он грохнет иксы - ты не обрадуешься результату.
Уж лучше так, чем многочасовое убивание винта…
ты всегда можешь нажать reset сам!
Или не пытаться натягивать сову на глобус, и работать с сотнями вкладок на rpi1
Особенно если я сплю, да :)
> Особенно если я сплю, да :)блжад, а как ты во сне вкладки сотнями открываешь? Я тоже хочу!
Ты не открываешь. Просто сидит себе скрипт на странице и кушает постепенно память
> Ты не открываешь. Просто сидит себе скрипт на странице и кушает постепенно
> памятьУходя, гасите свет^W^W пошли SIGSTOP.
ООМ-скоры вообще-то есть. И если потекли иксы, то надо прибить именно иксы! Пример твой слегка неудачен и полностью туп, ну а так - всё нормально.
> И если потекли иксы, то надо прибить именно иксы!ну да - неважно что вся твоя работа накрылась, и тебе не дали ни малейшего шанса ее завершить - главное система штабильна, штабильна!
18686 user 20 0 1848m 931m 51m R 32 30.9 6330:15 palemoon
24728 user 20 0 271m 128m 40m S 6 4.3 5:48.61 acroread
1881 root 20 0 213m 195m 182m S 5 6.5 1334:24 X
2097 user 20 0 7700 2360 1484 S 0 0.1 0:04.95 xtermкого вот тут будем прибивать, если память кончилась? И какой score выставить (и зачем?)
Судя по картинке - палёного.Кстати, в хромиуме отдельные вкладки очень удобно прибиваются.
Вместе с Acroread, он только показывает, а не создаёт.
> Вместе с Acroread, он только показывает, а не создаёт.ничего что в нем недозаполненная форма открыта? (потому и acroread, а не кривые опенсорсные недоделки)
да ладно, чего там мелочиться - вместе с иксами, они точно только показывают, а ничего не создают! ;-)
>> Вместе с Acroread, он только показывает, а не создаёт.
> ничего что в нем недозаполненная форма открыта?Падажжи, кому-то в 2000к19 веке нужны формы, заполненные именно в pdf? Они же ни под каким соусом не удобны, а те, кто их принимают и обрабатывают, явно не чураются ручного труда и должны уметь принимать заполненную шариковой ручкой распечатку.
>>> Вместе с Acroread, он только показывает, а не создаёт.
>> ничего что в нем недозаполненная форма открыта?
> Падажжи, кому-то в 2000к19 веке нужны формы, заполненные именно в pdf?PDF?
Я в этом году, в очередной раз, для родни формуляры в формате XLS (Ёксел) заполнял, чтоб его создателям и утвердителям икалось.
Нет, PDF на выбор там тоже был, но в виде экспортированного XLS документа, т.е. с нулевой интерактивностью и возможностью разве что нарисовать поверх (но там для каждой буквы отдельная клеточка, в которую нужно будет попасть -- поверх нельзя, важные господа, чья задача состоит в перепечатывании информации из этого формуляра в БД, не примут, проверенно). В общем, чисто для галочки.Сам XLS выбран похоже только из-за "клеточек" и возможности "форматирования" ими (это где-то уровень форматирования пробелами - при неправильном шрифте все надписи разъезжаются или обрезаются. Впрочем, за 4 раза никто так и не придрался именно к этому, а это наводит на мыслю, что оно не только в либре так себя ведет, но и в "неправильной" версии МС Офиса), а заполнять этот Шыдевр приходится побуквенно, кликая в следующую клетку или продвинуто-программистски нажимая два раза таб. Ни скопипастить толком, ни ошибку исправить, в итоге на заполнение 2 страничного формуляра для 2 человек вместо 10 минут убиваешь полтора-два часа и кучу нервов, после чего PDF-формы манной небесной покажется.
> Падажжи, кому-то в 2000к19 веке нужны формы, заполненные именно в pdf? Онимне.
> же ни под каким соусом не удобны, а те, кто их
> принимают и обрабатывают, явно не чураются ручного труда и должны уметь
> принимать заполненную шариковой ручкой распечатку.я не жажду шариковой ручкой. У меня есть акрорид, который аккуратно подставляет в формы известные (он умеет их вспоминать из прошлой жизни) ему данные, и умение печатать в десяток раз быстрее чем у тебя получится ручкой, если скопировать почему-то неоткуда.
> У меня есть акрорид, который аккуратно подставляет в формы известные (он умеет их вспоминать из прошлой жизни) ему данные, и умение печатать в десяток раз быстрееТут скорее впору хвастаться тем, что в век, когда космические коробли бороздят просторы госуслуг, ты смог найти садомазохистов, готовых мучить себя и клиентов обработкой заполненных пдфов или их распечаток в таком объёме, что находится выгода от автозаполнения формочек акроридом.
> Тут скорее впору хвастаться тем, что в век, когда космические коробли бороздят
> просторы госуслуг, ты смог найти садомазохистов, готовых мучить себя и клиентовда, получить этот pdf нынче непросто - там срабатывает редирект, отправляющий сливать все о себе очередным госуслугам.
Я, пока можно, пожалуй, обойдусь - пусть они сперва твои данные сп-ят.> обработкой заполненных пдфов или их распечаток в таком объёме, что находится
мне достаточно одной длинной строки, чтобы acroread был быстрее. Учитесь что-ли слепой печати, или, там, 486й продайте чуваку с лора и на вырученные деньги купите пентиумIII (могу продать, у меня они когда-то работали тестовыми системами, осталось штуки четыре)
> Я, пока можно, пожалуй, обойдусь - пусть они сперва твои данные сп-ят.А скан твоей распечатки, по-твоему, неуязвим?
> мне достаточно одной длинной строки, чтобы acroread был быстрее. Учитесь что-ли слепой
> печатиЯ не про заполнение формы, а про вычитку твоих опечаток Равшаном, которому ты эту распечатку отдаёшь. (Ну и что, что в акрориде всё сохранено? Принимающая сторона верить не обязана.)
> А скан твоей распечатки, по-твоему, неуязвим?ее никто не собирается сканировать. И да, он менее уязвим из-за размера и неудобства доступа, чем аккуратно сложенное в тазу банных в правильные поля.
> не про заполнение формы, а про вычитку твоих опечаток Равшаном, которому ты эту распечатку
> отдаёшь.он ее сравнивает с тем что в базе, и с тем что в паспорте, ставит закорючку и кидает в ящик таких же.
> он ее сравнивает с тем что в базе…в той же базе, в которую смотрят пресловутые госуслуги. Поздравляю, ты зря старался.
> Судя по картинке - палёного.ну спасибо. И зачем, по твоему, я его держу запущенным - чтобы просто любоваться?
> Кстати, в хромиуме отдельные вкладки очень удобно прибиваются.
только вот жрут заметно больше, ибо процессы все же немного небесплатны.
Я не спорю, что жрут больше. В моём случае - 20-30 вкладок с The Great Suspender и 4-мя ГБ ОЗУ в системе earlyoom срабатывает реже раза в неделю. И дохнут чаще всего вкладки с аутглюком и абмазоновской канцолью. В принципе нормально. И да, это пограничный случай. При 8-ми ГБ ОЗУ(на старом компе с вентиллятором и жёстким диском) у меня ничего не срабатывает.
Ещё раз замечу, что вместо тормозов/вставания_колом и т.д. - лучше просто прибить жирный процесс. Это механизм, востребованный многими, и он есть, жалко что не по-дефолту.
Это неправильно концептуально - через пару часов система очнется и продолжится выполнение программы, может она архиважная.
для архиважных задач у меня нет столько времени ждать пока оно расдуплится...
архиважная != архисрочная
философь-диалектъ, архиважная для меня задача - это задача, которой я уделяю максимум своего времени. И при этом совершенно мне нафиг не нужно из этого времени выделять время на ожидание кола и анабиоза!
а ты тут начинаешь подменять понятия...
я кокраз разделяю понятия
Ожить она сможет только после того, как грохнет какую-нибудь программу, чтобы высвободить ОЗУ. А грохать она не торопится
Не обязательно, может разберется со свопом.
А как в Линуксе ограничить потребление памяти каким-то приложением, например, браузером, пусть оно виснет только само, но не подвешивает ОС?
Можно через cgroups.
через prlimit например
А после обновления cryptsetup-run, загрузка выбрасывает в консоль (Debian sid), с этим что делать обычному пользователю?
Чё-та опеннет уже не тот, никто про 12309 не вспомнил!
Эот он самый и есть. Просто номера хрен запомнишь.
Там чего-то про копирование больших файлов утверждалось.
Действительно, очень похоже на очередную итерацию 12309.
Так эт. из-за overcommit который лечиться поправкой пары параметров. Все путём... десктопные дистры должны выставлять эти значения.
Оверкоммит не лечится, он выключается. Но никто его отключать не будет, потому что требования к ОЗУ возрастут.
И нет, десктопные дистры ничего не выставляют.
> Оверкоммит не лечится, он выключается. Но никто его отключать не будет, потому
> что требования к ОЗУ возрастут.
> И нет, десктопные дистры ничего не выставляют."десктопные дистры" - читай, васянсборки на базе маженты.
Учитывая что даже нескучные обои рисовать они не умеют - могут начать крутить все подряд sysctl, почему же нет...
Сколько пробовал vm.* параметры в sysctl.conf пихать... Помогло SSD (со свопом на нем) + zram и относительно свежее ядро. При своппинге теперь отвисает намного быстрее и с большей вероятностью.> From "Artem S. Tashkinov" <>
А, Бёрди. Всё ясно.
Новость уровня "Обнаружен ЖЖ Артемия Лебедева".
Короче, пацаны, даю бесплатный совет как раз и навсегда решить для себя эту проблему - покупайте 128GB оперативной памяти, NVMe SSD, хотя бы, терабайта на два - и всё будет хорошо! Ведь проблема, судя по местным комментаторам, именно в этом. Так давайте решать её вдумчиво и кардинально!
Это не поможет если случайно запустишь команду$ while true; do setsid tail /dev/zero; done
вот кстати да - почему в OpenBSD, когда Firefox сжирает всю память, он просто падает. а когда в Debian - оно просто фризится и даже мышь не двигается
Все было не так печально пока не сломали ещё и своп. Любой процесс которому понадобится память много и сразу приводит к жестокому фризу при пустом свопе. Если на 4.9 можно легко загнать в тмпфс данныданных превышающих размер РАМ, то на более новых ядрах нет.
Вот: https://forum.rosalinux.ru/viewtopic.php?f=56&t=9387
Я помню свой am486dx2-80 и Windows 95. Да что тут помнить - вот он у меня стоит, для ретро-игр. Office 97 с трудом открывал 3-мегабайтный xls-файл, нужный мне по работе. Минут 5 открывал - памяти было 8 Мб. После чего, с ним можно было работать, хоть и поиск выполнялся медленно (помогало выделение колонки E, и поиск конкретно по ней. Тогда быстрее). Обновление до Athlon 550 MHz 64 Mb RAM всё починило: открытие файла 3 секунды, поиск секунду.Получается, что по этому параметру даже Windows 95 лучше, чем Linux. В линуксе, если система залезла в своп, то всё. В винде она падала в арифметической прогрессии, а в линуксе - в геометрической
Постоянно сталкиваюсь с этим..
То с утра приходишь на работу и машина колом стоит, то во время работы достаточно пару лишних вкладок открыть , и сразу начинает фризить, потом встает колом.
Это не относится именно к серфингу, можно залипнуть и после запуска VM workstation
В 2012 у меня было два компа с Gentoo, с одинаковым количеством памяти, с абсолютно идентичными конфигами ядра и приблизительно одинаковым пресетом программ. Так вот, на стационарном компе на чипсете AMD 780G хром позволял открыть вкладок 15. На ноуте уже на третьей вкладке начинались тормоза. Как так, я не понимал. И сейчас не понимаю. Может, зависит от чипсета на материнке? И его драйверов в линуксе
Когда всё это происходило (в ядре 2.6.23 появился новый планировщик CFS), мне казалось, что производительность на десктопе портят намеренно. Недавно я подумал, что сейчас десктопы обладают производительностью серверов тех лет. А значит, если и правда портили производительность намеренно, то сейчас захотят повторить. Какими-нибудь патчами от Spectre превратят Core i5 в Pentium 4 по параметру отзывчивости десктопа.А вот и первый звоночек. Думаю, Инго Молнар с радостью ответит на критику в СМИ, и "улучшит" CFS, либо грядёт принципиально новый планировщик *(без возможности использовать старый, это само собой).
Я помню свой первый опыт с Linux. Это был SUSE 10.1. У меня был открыт Writer, Firefox и полноэкранная игра. Одноядерный комп с 512 Мб ОЗУ всё "тянул". Но тут я нажал на кнопку Amarok... Я заметил, что он стартовал 40 секунд вместо 4-х, а сама игра "подлагивала", но производительность не пострадала. Тогда я подумал "а винда бы встала колом", ведь я знал производительность своего компа.
Это было ядро 2.6.16. А в 2.6.23 всё сломали. Теперь остаётся лишь FreeBSD, в котором нет такой проблемы. Я был бы не против пользоваться и старым линуксом, будь там возможность установить новые драйверы).
Никто вам не мешает попробовать тот же bfs и так же i/o - bfq.
интересное наблюдение, действительно какие-то аномалии происходятПодумываю попробовать перейти на что-то типа легковесных DE вместо KDE и понаблюдать за подвисаниями, либо запускать все в каких-то контейнерах...
> Это было ядро 2.6.16. А в 2.6.23 всё сломали. Теперь остаётся лишь
> FreeBSD, в котором нет такой проблемы. Я был бы не противтам тоже уже давным-давно "улучшенно-интерактивный" планировщик, без возможности использовать старый (его никто не тестировал и он толком не работал примерно с появления нового)
И после этого вы говорите, что Linux/Unix надёжная система для серверов, и дома?
Да иди вы на******* со своим таким линуксом, где даже копирование данных на флэш превращается в опасное занятие.Windows, здравствуй снова.
> здравствуй, FreeBSDИсправил
TODO: сделать петицию на CHANGE.ORG. Грамотно обосновать проблему на хорошем ангельском. И потребовать дистростроевцев устанавливать earlyoom по умолчанию. Зафорсить петицию на сабреддитах и таск трекерах дистрибутивов.
не забыть организовать митинги в поддержку раннего OOM.
Есть такая проблема. Что делать не понятно.
Кому не понятно? Таки наоборот, в тредах нашли выход:1. earlyoom
2. zram with zstd
3. bfq
zswap lz4/z3fold не поможет?
Поможет. Плюс еще размер пула под 90% норм.
Тестил с ограничением в 4G RAM, 24G NVME swap, пул zswap на 50%. Система умирает сразу по исчерпание пула, ничего не сбрасывая с своп.
cgroup
> Я предполагаю, что система не должна себя так вести. Думаю, что-то нужно сделать, чтобы избежать таких «зависаний».20 лет побед.
Отключать своп - ССЗБ. С zswap такой проблемы не наблюдается.
zswap не решает проблему плохой обработки нехватки памяти, он отсрочивает ее, как и любой своп.Проблему решает earlyoom & nohang
Каменты к таким новостям очень хорошо проявляют процент сектантов среди людей, работающих с linux-системами.
И какова твоя оценка в цифрах?
> И какова твоя оценка в цифрах?лень считать, но если хочется - считаешь все уникальные ники, и потом считаешь количество ников, от имени которых высказывалось что-то вроде "линукс правильный, если линукс не правильный смотри предыдущий пункт." Небольшой процент 2-5%.
Повторю, все это не было бы проблемой если бы нормально работал своп. Не хватает памяти для твоих задач - подключай своп. Всегда так было. А сейчас хрен. Система встанет колом задолго до того как своп заполнится. Если задача предполагает интенсивный свопинг то и на 5% можно не успеть заполнить. А дальше фриз такой что и мышь порой не шевелится и не известно оттает ли. Ждать больше 10 минут как-то не хочется.
Господа ядрописатели, верните свопинг как в 4.9 и раньше, а то напишем в спортлото.
Хватит ныть, решение простое:zram + earlyoom
Это не решение. Это костыль. А earlyoom ещё дрессировать надо чтоб нужное не прибил. Решение это работающий как положено своп.
Своп работает как положено если расположен на устройстве zram.
А если мне нужно большой своп, купить планку для zram предложите? Своп на zram штука полезная, но речь не об этом.
Ни zram ни zswap не помогают.
>Ядро Linux не может _МЯГКО_ обрабатывать ситуации с нехваткой памятиинтерпритация мягкости в ядрах:
Ядро ведет себя ЖЕСТКО, НЕ ТАКТИЧНО И НЕ ГУМАННО, можно даже сказать - ПО СКОТСКИ...
Так и есть. В Арче ванильные ядра выкатываются где-то раз в неделю и это лотерея. Бабах и система не грузится один раз из трёх (но жить то можно, да?), в арченовостях молчок, так неделю и живёшь. Тут новое ядро выкатывают и косяк ушёл. Ну, думаешь, попустило.. до следующего раза. И это не беты какие-то, а ванильные релизы. Вот такая вот линукс-штабильность.
Благо в Арче есть LTS ядра.
>>Ядро Linux не может _МЯГКО_ обрабатывать ситуации с нехваткой памяти
> интерпритация мягкости в ядрах:
> Ядро ведет себя ЖЕСТКО, НЕ ТАКТИЧНО И НЕ ГУМАННО, можно даже сказать
> - ПО СКОТСКИ...Мягко, это как в microSOFT
Проблема обработки нехватки памяти будет полностью исчерпана, если принять за аксиому, что обработка нехватки памяти - это задача юзерспейса, и не ядра. Ядро не смогло за 20 лет решить проблему. В юзерспейсе же мы можем на коленке за вечер написать работающее решение. Или выбрать качественное решение по вашему вкусу из множества существующих (earlyoom, peacemker, nohang, oomd, lmkd), которое наилучшим образом подойдет для вашего юзкейса.
А как обстоит дело на Chrome OS? Как с этим справляются старые или бюджетные хромобуки?
Там нормальное DE
>> Ядро Linux не может мягко обрабатывать ситуации с нехваткой памятипочему это в разделе "новости"?
Обсуждение на https://linux.slashdot.org/story/19/08/06/1839206/linux-perf...
Оттуда: Solution, add more memory or do less in memory.
Мой солюшан того же уровня: install Windows, Luke!
Господа, если в вашей венде закончится виртуальная память(неважно отключён, своп или нет), то у вас случится может 3 вещи, крашнется процесс что сожрал память(возможен Bsod), Bsod он же "синий или чёрный экран смерти", тот же Bsod,но с мгновенной пререзагрузкой винды=).
В венде нельзя полностью отключить своп. Даже если тебе кажется что ты его отключил ту его не отключил. Венде 10 в любом случае будет просто тормозить.
> В венде нельзя полностью отключить своп.ну еще один поооользователь... если где-то нет выключателя - сделай его себе сам.
"порно с конями 4k скачать без смс", и так пяток раз - и некуда ей свопиться, включено, выключено, какая нах разница, если диск занят весь. Результатец (и полная невозможность в него вмешаться, в отличие от линукса - ну а зачем, типовой юзверь ведь все равно даже и не подумает остановиться?) тебя приятно удивит осознанием, что в линухе есть еще чего испортить в угоду умственно-отсталым.
Плохо что в венде даже выключатель на котором написано: "выключатель" делает не то что там написано. И для настоящего выполнения надо качать порно без смс. А в линуксе там хотябы сразу понятно выключателя нет химич сам.
> Плохо что в венде даже выключатель на котором написано: "выключатель" делает не то что там
> написано."все для наших пользователей - альтернативно-одаренных граждан с кривыми руками".
Если выключатель будет просто гасить свет - будет полно воплей "я его нажал и стало темно! Я навернулся и ушиб жопу! Система - г-но!"что, собственно, мы тут и наблюдаем в системе, в которой хотя бы некоторые выключатели все еще производят какое-то действие, кроме бессмысленного щелчка.
не сталкивался ни на 4гиговых ноутах, ни на домашнем стационаре с 12 гигами с описанным поведением.
и все равно на пруфкейсы.
Больше раздражает что после снятия нагрузки своп никогда обратно не заливается в оперативу от слова совсем. Если венда ещё делает потуги очистить своп если для загруженных программ мало оперы надо то в линукс даже не делает попыток. Приходтся руками скидывать своп обратно в оперу. Особенно заметно на системах с хдд а на ссд совсем не заметно.
> Больше раздражает что после снятия нагрузки своп никогда обратно не заливается в
> оперативу от слова совсем.потому что он там никому не нужен, чтобы потом еще раз его обратно переписывать.
Произойдет обращение к этой памяти - зальется. Если его не происходит - ты страдаешь ненужной фигней.
Интерфейс конкретно КДЕ будет сильнее тормозить, чем обычно. И если там что то куда то и заливается на скорость работы интерфейса это не влияет. А вот заливка свопа обратно в оперу влияет и очень заметно.Хотя тебе с твоей вендой это не ведомо.
при нехватке памяти линукс мог бы спрашивать, какой процесс завершить
Чтобы спросить что завершить придется породить новый гуёвый процесс, который усугубит ситуацию.
Запустить этот процесс и пусть висит всегда, сторожит память. Когда припрёт, фризить все остальные процессы, а этому дополнительная память не нужна.
> фризить все остальные процессыфризить? какая-то хреновая идея..
а если пользователь отошёл от монитора (или откинулся на спинку стула) дожидаясь там чего-то?...
> фризить? какая-то хреновая идея..Ну да, уж лучше зависнуть, винчестером хрустя…
> а если пользователь отошёл от монитора (или откинулся на спинку стула) дожидаясь там чего-то?...
Ну вот, вернулся, а там предложение убить кого-нибудь ненужного. И пароль не забыть.
Короче, это костыльный хак, я знаю, но пользователю всё равно, такое поведение лучше, чем тупо зависнуть.
Что по этому поводу думает Шигорин? Как он борется с ло мемори в альт линукс?
Сиё не отменяет факта, что современные браузеры, по пожиранию памяти на вкладку, полный песец. В конце 2016г. 4GB иногда переставало хватать. Сегодня в 2019г. 4GB памяти вообще не хватает, иногда не хватает и 8GB.
В этом вина не столько браузеров, а скорее веб-сайтов состоящих из костылей и огромного кол-васкриптов с подгружаемым из разных точек рекламным контентом.
Более 200 мегабайт на вкладку с древним сайтом! Ага... Главное распухшие браузеры.
Случается. Хреново. Ктоб починил.спасибо что на earlyoom направили.
Ранее читал новости о earlyoom. Сейчас тоже собрал , посмотрим как пойдет
не помогает
Вот вам картинка... у меня аж щеки порозовели ))https://3dnews.ru/assets/external/illustrations/2019/08/04/9...
> Вот вам картинка... у меня аж щеки порозовели ))
> https://3dnews.ru/assets/external/illustrations/2019/08/04/9...Серьёзная, внушающая картинка. ИЧСХ, г-нокод всё так же впустую сжигает всё процессорное время, как и на каком-нибудь одноядерном i386 в оны годы. Причина, знать, не в железе.
Ничего что у него практически вся память забита кешированными данными?
Как так получилось, что число тредов меньше числа процессов? А число running threads больше threads? И если нагруженных ядер 256, а тредов 102, то кто нагружает остальные 154?И почему loadavg сильно меньше 256 при 100% загрузке всех ядер? Разве что нагрузка пришла внезапно (скажем, за пару секунд) и не успела поднять значение loadavg.
> Как так получилось, что число тредов меньше числа процессов? А число running
> threads больше threads? И если нагруженных ядер 256, а тредов 102,
> то кто нагружает остальные 154?
> И почему loadavg сильно меньше 256 при 100% загрузке всех ядер? Разве
> что нагрузка пришла внезапно (скажем, за пару секунд) и не успела
> поднять значение loadavg.И главное - почему индикатор занятости RAM показывает половину при значениях 7.07GB/504GB и зачем при 504ГБ ОЗУ иметь аж 8ГБ свопа ;)
> И главное - почему индикатор занятости RAM показывает половину при значениях
> 7.07GB/504GBПотому что 7 без учёта page cache (вооон он жёлтенький).
>> И главное - почему индикатор занятости RAM показывает половину при значениях
>> 7.07GB/504GB
> Потому что 7 без учёта page cache (вооон он жёлтенький).Ладно, убедили.
А чтобы никто не подумал, что я чисто из зависти придрался:
https://pic4a.ru/98/Im7.png
;-)
Я успешно решил эту проблему следующими настройками:vm.swappiness=1
vm.vfs_cache_pressure=50
vm.min_free_kbytes=1048576Плюс к этому имеется своп на ssd, куда деваются излишки. Оперативки 16 Гб.
В результате не тормозит и не подвисает никогда, хотя часто использую значительно больше памяти (виртуалки, разработка, все дела).
С параметром vm.min_free_kbytes можно поиграться: целиться нужно на размер памяти, который вряд ли кто-то захочет единовременно в условиях нехватки памяти. На другом компе у меня всего 8 Гб памяти (а задачи те же), и min_free_kbytes я поставил чуть побольше - иначе периодически сталкивался с мелкими подтормаживаниями при старте чего-то большого (но всё равно, это небо и земля по сравнению с дефолтными настройками).
Система повисла при пустом свопе
и включеном earlyoom
И что делать?
Опишите здесь https://github.com/hakavlad/nohang/issues ваш кейс подробнее, обсудим варианты решения.
такая же фигня я думал что ядро не правильно конфигурировал
Вот как это выглядит на реальном ПК и на виртуальной машине. Пример показан на Хосте Windows, Госте разновидность Убунты. Гость завис в виртуальной машине, но в Хосте виртуальная машина доступна её можно свернуть или использовать, выключить OC по питанию в виртуальной машине средтвми меню виртуальной машыны или через виртуальный resest. Сама виртуальная машина в Хосте не зависает. Просмотр поведения HDD диска производится средствами программы установленой в Хосте Windows. Так HDD диск ведёт себя пока Гость в виртуальной машине не доступен. Я максимально ждал и не дождался пока Гость "отвиснет" ~45 минут. Запись сделана в 17 году и ядро соттветствующее этому году - последнее. Раздел подкачки в Госте находится на одном диске HDD в месте с операцыоной системой Гостя, зависание происходит у меня с незаполненым разделом подкачки даже на половину. Не кода не видел заполеный раздел подкачки во время зависания. https://tinyurl.com/y3t7pb2c Если изображение расплывчатое жмите в настройках плеера на шестирёнку и повышайте разрешение.
Если завишую мышину закрыть или перезапувтить средствами виртуальной машыны диск HDD в простое ведёт себя почти по нулям во всех строках и с включоноё виртульной OC.
Ошибки увидел. Печатаю плохо.
https://www.opennet.ru/openforum/vsluhforumID3/118068.html#582 Более точно. Я орентируюсь не только на время, на время это второе. Первым смотрю на поведение обоих дисков через программу в Хосте Windows. Если во время зависания Гостя Linux HDD интенсивно читает, а SSD пишет на диск с скорстью ~ 2 -11 МБ/с. значит, что сброс на раздел подкачки происходит. Если на SSD прекращается запись, а на HDD продолжается интенсивное чтение значит ждать бесполезно это завис на долго или стримится к бесконечности.
Контралёр на материнской плате SATA-300. У меня SSD пишет информацыю когда сбрасывает на раздел покачки со скоростью не больше ~ 11 МБ/с. Только как предположение: возможно такая скорость SSD связана с тем, что SSD который я использую не выдаёт на запись 4К больше ~20 МБ/с., а с SATA-600 как я видел почитав об этом диске запись 4К = ~30 МБ/с. Диск не самый быстрый у него даже нет своей оперативной памяти для кеша, только FLAS память. Как предположение: когда диск заполнен запись 4К падает до ~10МБ/с. https://ibb.co/cN7khcr Линейное чтение моего SSD поддключённому к SATA-600 видел в районе 400 - 500 МБ/с.CrystalDiskMark 6.0.2 (C) 2007-2018 hiyohiyo
Crystal Dew World : https://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytesSequential Read (Q= 32,T= 1) : 271.562 MB/s
Sequential Write (Q= 32,T= 1) : 76.535 MB/s
Random Read 4KiB (Q= 8,T= 8) : 89.173 MB/s [ 21770.8 IOPS]
Random Write 4KiB (Q= 8,T= 8) : 10.592 MB/s [ 2585.9 IOPS]
Random Read 4KiB (Q= 32,T= 1) : 90.177 MB/s [ 22015.9 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 10.876 MB/s [ 2655.3 IOPS]
Random Read 4KiB (Q= 1,T= 1) : 16.849 MB/s [ 4113.5 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 10.858 MB/s [ 2650.9 IOPS]Test : 50 MiB [G: 0.0% (0.0/111.8 GiB)] (x5) [Interval=5 sec]
Date : 2019/01/22 9:50:12Кому интересно делаем как я смотрим поведение.
Поведение системы при запрете оверкоммита: https://imgur.com/a/p9j67KAЖду оправданий сторонников такого подхода.
К чему приводит запрет оверкоммита:
- неполная утилизация доступной памяти;
- неожиданное поведение программ когда выделенный лимит заканчивается.
Подтверждаю.
При оперативе 2 Гб и менее Ubuntu 19.04 часто уходит в ступор после запуска ряда "тяжеловесных" приложений, например, среды разработки, основанные на Eclipse, Firefox и Wine. Даже наличие свопа не спасает. Из-за этого убивается время и убиваются винчестеры. Насколько мне известно, iOS имеет хороший диспетчер памяти, поэтому для комфортной работы достаточно оперативной памяти 1 Гб. В то время, как Android, увы, более прожорлив и требует для комфортной работы гораздо больший объём оперативной памяти.
Надо просто настроить лимиты, чего по умолчанию не сделано в большинстве дистрибутивов. Отсюда такая реакция на fork и mem бомбы.
Как настаивать? как именно? Расскажите? Так, чтоб прям точно ничего на зависало.
/etc/security/limits.conf параметр memlock в kb. При исчерпании пользователем приложение просто не получит памяти, а системе надо оставить. Тогда зависания не будет.
Нет, этот параметр такого не делает.
Даже со свопом проблема не решается. Причём не важно сколько свопа и сколько оперативы. Просто если используется 300-400 мб свопа то всё нормально, а если больше гига - тут начинаются жуткие торомоза, и в коце концов система уходит, как я это называю в "бесконечный своп", т.е. гоняет блоки данных из оперативы на диск и обратно, не выполняя при этом пользовательских операций ввода вывода. Самое интересное что на Дебиане 7 с таким явлением не сталкивался. Помогает только перезагрузка. Убивать процессы специальными инструментами считаю не допустимым, поскольку это не решение проблемы, а заметание грязи под коврик.
>Убивать процессы специальными инструментами считаю не допустимымМожет еще и ГМО употреблять недопустимо? Ведь использование генной инженерии - это лишь заметание проблемы под коврик.
Алкоголь, табак, консерванты в пище тоже разрешины к использованию законом. И все прекрасно знают, что это яды, а алкоголь не только яд, но и несёт смерть себе и окружающим людям.А что касается принудительно завершения процессов. Смотря какую программу и когда и у кого. Бразур который не сохраняет историю открытых адресов сайтов, а открыто ~30 или меньше, или больше вкладок и названий сайтов не запомнил конечно обидно. Набраный длинный текст в каой-то програме и он не сохранился тоже обидно, мысль потеряна и т.д. Зависит от ценности потери той информацыии которую использовал конкретно каждый человек и адекватности на это конкретного человека. Люди разные бывают кто-то посожалеет не сильно и переживёт, а кто-то разломает монитор с компьютером если что-то будет не так - это конечно плохо, но и такие случаии были, редкие, но есть и возможно будут.
Поправка, алкоголь и табак не только яд, но и несёт смерть себе и окружающим людям.Я слышал, статистику, что от рака из-за курения умирает 250 тысяч людей в год.
И коснсерванты тоже несут смерть только, чтобы заработать страшную болезнь отравляя свой арганизм консервантами нужны годы. То колличество консервантов которое содержится в пище яд не семинутный, быстро не убивает. От пищи с консервантми тоже может развится рак или другие болезни.
Ну и тудаже как и консерванты относятся гербециды, пестециды и другая химия которой обрабатывают овощи и фрукты и другую еду не запрещённую к использованию.
> Ну и тудаже как и консерванты относятся гербециды, пестециды и другая химия
> которой обрабатывают овощи и фрукты и другую еду не запрещённую к
> использованию.Ну и тудаже как и консерванты относятся гербециды, пестециды и другая химия которой обрабатывают овощи и фрукты и другую еду. Гербециды, пестециды разрешены к использованию тоже.
Юзерспейсные демоны: сравнение нагрузки на процессор: http://okturing.com/src/6744/body
Ядро 5.2-rc7 OC 19.10 использовал примерно месяц, редко. Установил ядро 5.2.7. На этих картинках https://www.sendspace.com/file/xru706 память занята прямой трансляцыей видео, ядро 5.2.7. Вкладки в браузере ядро 5.2.8. Видео посмотрел столько сколько мне было надо, не зависло. OC отзывчивость приемлемая для меня. Решил сайтами нагрузить браузер. Установил ядро 5.2.8 (установил готовое ядро, а не собрал) открыл около 30 вкладок, почитал. Дальше начал открывать уже для веса примерно на 50 вкладках стало некомфортно пользоватся браузером. Отзывчивось браузера для использования не подходит, долго загружаются страницы, медленная прокрутка в нутри сайтов с подвисанием прокрутки. Отзывчивость ОС в этот момент для меня приемлемая. На этом остановился.Хост Windows, Гость разновидность убунты 19.10, ядро 5.2.8. OC Хост и Гость на HDD, раздел подкачки на SSD. SSD используется только для подкачки в обеих OC.
Память занята прямой трансляцыей видео в браузере.
А это со старта только OC https://ibb.co/RcKvjRN
Какие же фейсбуковцы *********ы, ****** просто.>oomd uses about 6% CPU whith desktop.json and --interval 1.
>Is it OK?
>We see this internally too. Something like 4.5% of a core all the time. When we profiled it we saw most of the cost coming from walking/reading cgroupfs.https://github.com/facebookincubator/oomd/issues/79
>oomd fails to see the problem if SwapTotal=0 and MemAvailable=0
>I ran memory hog, and at the end system hangs, oomd doesn't kill anything.
>PSI based oom killing doesn't work well without swap. Without swap, the system runs out of physical memory too fast and enter the "death spiral" before oomd has time to react.
>Closing b/c this will be a wontfix.https://github.com/facebookincubator/oomd/issues/80
>oomd works and kills memory hogs (and innocent processes too, seems like oomd kills all processes in memhog.scope, not only fattest process, it is not good for desktop)
>Yeah that's by design. The smallest granularity oomd will operate on is a cgroup. Doing per-process is kind of a mess, especially when multiple teams own different services on a system. It's much easier to delegate a cgroup tree than to try and manage individual processes everywhere.
Да, просто:
vm.overcommit_ratio = 200
vm.overcommit_memory = 2
и всё. oomkiller убивает всё что зажралось на раз.
Это ложь. Огараничение оверкоммита наоборот, препятствует приходу киллера.
> Это ложь. Огараничение оверкоммита наоборот, препятствует приходу киллера.RTFM - https://www.kernel.org/doc/html/v5.1/vm/overcommit-accountin..., конкретно за режим vm.overcommit_memory = 2.
Документация пдтверждает мою правоту:"in most situations
this means a process will not be killed while accessing
pages but will receive errors on memory allocation as
appropriate."https://www.kernel.org/doc/Documentation/vm/overcommit-accou...
И закономерный итог - https://imgur.com/a/p9j67KA - процессы валятся на ошибках.
> Документация пдтверждает мою правоту:
> "in most situations
> this means a process will not be killed while accessing
> pages but will receive errors on memory allocation as
> appropriate."
> https://www.kernel.org/doc/Documentation/vm/overcommit-accou...
> И закономерный итог - https://imgur.com/a/p9j67KA - процессы валятся на ошибках."in most situations" - значит не во всех ситуациях. Срабатывают оба варианта, проверено.
И второе поведение и является правильным. Значение vm.overcommit_ratio = 200 - устанавливает в двое больший размер для аллоцирования, чем есть в системе, потому, любое ПО которое будет пытаться занять размер больше чем свободно в системе, просто сразу отвалит с ошибкой, а не будет "мусолить" систему.
>сразу отвалит с ошибкой, а не будет "мусолить" системуНет, MemoryError - это вам не SIGKILL.
Приложение может обрабатвавать MemoryError вовсе не падать, и своим присутствием заставлять падать другие, невиновные приложения, которые пытаются выделить себе память. См скриншоты выше.
>>сразу отвалит с ошибкой, а не будет "мусолить" систему
> Нет, MemoryError - это вам не SIGKILL.<sarcazm>Без этого уточнения - никак не понять.</sarcazm>
> Приложение может обрабатвавать MemoryError вовсе не падать, и своим присутствием заставлять
> падать другие, невиновные приложения, которые пытаются выделить себе память. См скриншоты
> выше.Так и должно быть, приложения должны уметь обрабатывать такие ошибки. А если какое-то приложение устроит гонку, то сработает oomkiller и это правильно. А если хочется что-то "прибить гвоздями" в памяти, то oom_score_adj в помощь.
Проблема с очень большим захватом памяти при открытии новой вкладки FF и полным торможением при свопировании при заполнении RAM существует. Но там я думаю, много виновников - и плохое управление свопированием и использованием памяти многими ядрами, работой с памятью FireFox и выделением её для addons.
Включение zSWAP поможет, отсрочив и немного сократив это зависание, тюнинг его настроек может слегка улучшить работу в конкретном случае.
Но думаю, что у Вас много ядер CPU и включено одновременно много аддонов, в первую очередь блокирующих, конкурирующих между собой при открытии сильно захламленных рекламой сайтов: SmartAdBlock, Adblock Plus, uBlock Origin и тп (лечил уже такое). Рекомендую попробовать оставить из блокираторов только скажем «uBlock Origin», может и «NoScript» оставить.