The OpenNET Project / Index page

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

Выпуск обработчика нехватки памяти earlyoom 1.4

02.03.2020 17:25

После восьми месяцев разработки опубликован выпуск фонового процесса earlyoom 1.4, который периодически проверяет объем доступной памяти (MemAvailable, SwapFree) и пытается на ранней стадии отреагировать на возникновения нехватки памяти. Код проекта написан на языке Си и распространяется под лицензией MIT.

Если объём доступной памяти меньше заданного значения, то earlyoom принудительно (через отправку SIGTERM или SIGKILL) завершит работу процесса, наиболее активно потребляющего память (имеющего самое большое значение /proc/*/oom_score), не доводя состояние системы до очистки системных буферов и мешающего работе своппинга (обработчик OOM (Out Of Memory) в ядре срабатывает когда состояние нехватки памяти уже достигло критичных значений и обычно к этому моменту система уже не реагирует на действия пользователя).

Earlyoom поддерживает отправку уведомлений о принудительно завершённых процессах на рабочий стол (с помощью notify-send), а также предоставляет возможность определения правил, в которых при помощи регулярных выражений можно задать имена процессов, завершение которых предпочтительно (опция "--prefer") или остановки которых стоит избегать (опция "--avoid").

Основные изменения в новом выпуске:

  • За счёт отложенной загрузки атрибутов процессов на 50% ускорена логика выбора процессов для завершения;
  • Обеспечено отражение в логе UID завершаемого процесса, в дополнение к PID и имени процесса;
  • Добавлена подсветка отладочного лога светло-серым цветом;
  • Проведена чистка кода;
  • По возможности использовано объявление локальных для блоков переменных;
  • Добавлена настройка PATH_LEN для замены вшитого в код значения размера буфера;
  • Обеспечен запуск cppcheck при его наличии;
  • Добавлен тест производительности "make bench";
  • Расширен набор тестов (make test);
  • Реализован сброс привилегий root в unit-файле systemd earlyoom.service. Это изменение ломает возможность GUI уведомлений. Для включения GUI уведомлений предлагается вернуть root права, раскомментировав "DynamicUser=true". Отключение root также приводит к невозможности получения сведений о потреблении памяти при монтировании /proc в режиме hidepid=1 или hidepid=2.


  1. Главная ссылка к новости (https://github.com/rfjakob/ear...)
  2. OpenNews: В systemd ожидается включение обработчика нехватки памяти oomd, разработанного в Facebook
  3. OpenNews: В Fedora 32 намерены включить earlyoom для раннего реагирования на нехватку памяти
  4. OpenNews: Ядро Linux не может мягко обрабатывать ситуации с нехваткой памяти
  5. OpenNews: Выпуск Nohang 0.1, предотвращающего OOM в пространстве пользователя
  6. OpenNews: Facebook открыл код для обработки ситуации нехватки памяти в системе
Автор новости: hakavlad
Тип: Программы
Короткая ссылка: https://opennet.ru/52465-oom
Ключевые слова: oom, memory, earlyoom
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (223) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, cat666 (ok), 20:25, 02/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Выпуск фонового процесса... Вон оно нынче как... Выпускайте Кракена.
     
     
  • 2.99, Аноним (-), 10:29, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Выпуск фонового процесса... Вон оно нынче как... Выпускайте Кракена.

    А он вебмакаками питается? Если да - цып, цып, цып, цып, у нас тут много еды! Иди сюда!

     

  • 1.2, Аноним (2), 20:31, 02/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Почему нельзя в ядре допилить этот диспечер памяти? Нет вместо этого будем городить всякие user-space костыли.
     
     
  • 2.4, Аноним (4), 20:34, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Допили. У меня даже есть идея: берешь этот обработчик и высылаешь его Торвальдсу, мол: "Смари, чувак, мне не нравится нынешнее состояние в ядре. Давай ты сделаешь вот так!"
     
     
  • 3.57, zzz (??), 02:21, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Анониму за это не платят, в отличие от 95% разработчиков линукса. Которые в перерывах между допиванием кофейной гущи и ковырянием в носу вот уже 20 лет как не могут запилить нормальный OOM в ядре. Нигде такой фигни нет - под виндой процессы нормально киляются, под фрюхой, да даже под симбианом, и только под линуксом разрабы заняты чем угодно, но только не решением покрытого мхом бага, что ажно приходится костылить пяток юзерспейсных демонов.
     
     
  • 4.90, rshadow (ok), 09:56, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Не надо нам тут сказок про винду. Знаем - плавали. Там вообще вероятность работы 50/50. Может и диспетчер задач тупо не открыться. Даже без нагрузки. "Семь бед - один ресет".
     
     
  • 5.103, Аноним (103), 10:48, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А я сужу по практике. Может мне конечно повезло см железом. Но у меня несколько месяцев работала Win 10, я ее только отходя куда-то отправлял в hibernation. Ни одного падения, зависания, все как часы работало.
     
     
  • 6.119, Аноним (119), 11:44, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    И как это связано с нехваткой памяти? пробовали в windows память всю занимать?
     
     
  • 7.176, Аноним (176), 02:50, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > И как это связано с нехваткой памяти? пробовали в windows память всю занимать?

    Это он так спалился что винды оказывается умеют виснуть намертво при выходе из STR и тому подобных режимов, очень приятно получается, как серпом по... :)

     
  • 4.100, Аноним (-), 10:37, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ыгы, если гуйня вообще прорисуется Если не прорисуется за разумное время, из-за... большой текст свёрнут, показать
     
     
  • 5.133, zzz (??), 13:44, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Никакого эквивалента например alt-sysrq-n

    Ты путаешь причину и следствие. Это не линукс такой хороший, что в нем есть даже такая комбинация, а комбинация появилась, потому что линукс такой плохой. И да, полно случаев, когда система встает колом так, что даже alt-sysrq-n не отрабатывает.

    >так что 1 размер всем таки не катит

    В линухе куча рабочих планировщиков как процессов, так и IO под разные применения. Ни одного рабочего OOM нет до сих пор. Линукс - это серьезно (с).

     
     
  • 6.150, Аноним (150), 17:41, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Офигенное понимание дел системных, тудыть-растудыть А я то думал что проблема -... большой текст свёрнут, показать
     
  • 4.139, mikhailnov (ok), 15:05, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Выкладывайте свои предложения по алгоритму работы правильного ООМ
     
     
  • 5.204, kek (??), 08:37, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Всё давно выложено и реализовано в nohang и oomd.
     
  • 2.11, Аноним (11), 20:41, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Этот же earlyoom можно без проблем засунуть в ядро в виде earlyoom ko, но просто... большой текст свёрнут, показать
     
     
  • 3.82, Q2W (?), 08:12, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А в чём минусы earlyoom в userspace?
    Пусть живёт там себе дальше.
     
     
  • 4.101, Аноним (-), 10:45, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А в чём минусы earlyoom в userspace?

    Потенциально менее надежно. Ядро себя при управлении ресурсами точно не обидит. И поэтому чтобы скопытился именно важный компонент ядра - ну разве что после всего остального уже, если душняк почему-то не пропал (e.g. conntrack неадекватный размеру RAM на мелкой мыльнице).

    А вот для юзермода удостовериться что никогда не поплохеет софтине рулящей такими аспектами - очень нетривиально. Отдельные приветы всякой пихтонрасии, где это вообще mission impossible.

    > Пусть живёт там себе дальше.

    Однако почему б что-то такое не было в кернеле - все ж вопрос. А юзермод мог бы конфигурять. Ну вон OOM killer так примерно и работает, но он врубается либо если памяти совсем нет, либо если его мануально по alt-sysrq-f позвать.

     
  • 3.83, Q2W (?), 08:13, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Комментатор выше жаловался на на это, а на то, что ядро могло бы и отказать очередному процессу, который попросил памяти, которой уже нет и, если всё-таки выдать, система встанет колом.
     
  • 3.95, Аноним (95), 10:22, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    проблемы с коммуникацией - надуманные.
    chardev для связи с клиентом, который уже будет оповещения ловить в обрабатывать (модуль ядра + клиент отличается от нынешней схемы тем, что без клиента модуль будет работать, но без оповещений)
    конфиг нагляднее? - конфиг может поменяться, а reload не выполнен, куда нагляднее настройки в /sys/ для тюнинга и/или в /proc для суммарного отображения.
     
     
  • 4.140, Аноним (140), 15:20, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Всё классно звучит.

    Возьмётесь?

    // b.

     
  • 2.12, VINRARUS (ok), 20:42, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    По тому же почему нельзя заставить Linux не вешать систему при копировании сотен мелких файлов на 8ми ядрах — этому ядру уже ничего не поможет.
     
     
  • 3.28, Аноним (-), 21:24, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Под Linux, система вешается при копировании большого объёма, десятки гигов, и не важно мелкие файлы или нет.
     
     
  • 4.42, заминированный тапок (ok), 22:49, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    переносил исходники UE4 с одного диска на другой, около 86Гб и тысячи мелких файлов
    никто никуда не повесился

    ЧЯДНТ?

     
     
  • 5.43, VINRARUS (ok), 23:12, 02/03/2020 Скрыто модератором
  • –4 +/
     
     
  • 6.48, Анончик999 (?), 00:22, 03/03/2020 Скрыто модератором
  • –1 +/
     
     
  • 7.77, пох. (?), 07:24, 03/03/2020 Скрыто модератором
  • +/
     
  • 5.52, Аноним (52), 01:34, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >исходники UE4
    >около 86Гб

    Что там в UE такого, чтобы набрать эти 86 гигов написанного людьми кода, если дале 1 мег текста - это очень много? Я сомневаюсь, что вообще существуют такие большие проекты.

     
     
  • 6.116, заминированный тапок (ok), 11:37, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    * PhysX
    * модули и системы сборки MaCOS,iOS,Android,Windows,Linux,.... ну и всех остальных поддреживаемых платформ
    * куча плагинов и дополнений из маркетплейса
    * и тд и тп
    * + промежуточные файлы после компиляции
    (я просто не почистил всё ненужное)

    конечно, еслив всё это почистить, то размер можно порезать в x2-x3 раза

    установленный под виндой винарниками около 15 Гб весит  +/-

     
  • 3.74, llirik (ok), 07:01, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    не так давно (около 3 месяцев назад наверное), разворачивал на машине почти 100 гиговый бэкап в основном с фоточками плюс какое-то количество документов. Что-то делаю не так?
     
     
  • 4.78, пох. (?), 07:33, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > не так давно (около 3 месяцев назад наверное), разворачивал на машине почти
    > 100 гиговый бэкап в основном с фоточками плюс какое-то количество документов.
    > Что-то делаю не так?

    бэкап. А у товарища - с fs на нее же или другую такую же, и обе, небось, ext4 с _журналом_ (это важно). То есть очень похоже на 12309 во всей его красе. И важно не число гигов (главное чтоб на порядок больше чем кэш позволяет вместить) а количество, фоточки плохой тест, вот как у анона - исходники UE - хороший.

    Там, правда, насмерть не висло, но прервать этот процесс при околонулевой реакции системы было непросто.

    А учитывая что его с тех пор десять раз починили и даже два раза закрыли - теперь при каких-нибудь интересных сочетаниях условий может и виснуть ;-)

     
     
  • 5.94, Аноним (-), 10:19, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >А у товарища - с fs на нее же или другую такую же, и обе, небось, ext4 с _журналом_ (это важно)

    Нет, у меня на обоих винтах btrfs

     
     
  • 6.114, пох. (?), 11:29, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    и тоже виснет? Ну, в целом и неудивительно, у нее количество лишних записей еще больше чем у ext4, хотя и была у меня смутная надежда что локап где-нибудь непосредственно около журнала и его обработчиков.

     
     
  • 7.118, Аноним (-), 11:41, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    разумеется виснет, это же я написал несколько сообщений, что при копировании виснет
     
  • 7.152, Аноним (152), 18:06, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее этот умник пихнул активно кантуемые файлопомойки на системный диск А нап... большой текст свёрнут, показать
     
     
  • 8.212, пох. (?), 20:09, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    а локап-то откуда ну да, мы вот этот цирк вполне наблюдали на том примере, кот... большой текст свёрнут, показать
     
     
  • 9.218, Аноним (218), 07:03, 07/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну смотри, душняк памяти Кернель выкидывает паги его любимой апликухи из рамы, ... большой текст свёрнут, показать
     
  • 4.79, Аноним (79), 07:34, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Windows.
     
     
  • 5.104, Аноним (104), 10:49, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Windows.

    Так бы сразу и сказал, он при 50К файлов в дире встает колом на несколько минут, хоть там что. Но это ntfs так работает, там индексация если и есть - то на проволоке и скотче. Поэтому когда на холодную пытаетесь подчитать список на 50К позиций - ых, ых, ых, там нет индекса для быстрой выгрузки всех 50К :)

     
     
  • 6.115, пох. (?), 11:35, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    дайте угадаю - вы не список пытаетесь, а в интуитивно-приятном эксплорере, кот... большой текст свёрнут, показать
     
     
  • 7.158, Аноним (-), 22:17, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В FAR без иконок те же яйца Красивая теория, но FAR плевал на иконки Это завис... большой текст свёрнут, показать
     
     
  • 8.215, пох. (?), 15:40, 06/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну так это - проблема вашей фары , не расскажите же, каким волшебным образом d... текст свёрнут, показать
     
     
  • 9.219, Аноним (-), 07:15, 07/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лично я вообще не смог найти проги где такой проблемы нет Если есть индексирова... большой текст свёрнут, показать
     
  • 3.102, Аноним (-), 10:46, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > По тому же почему нельзя заставить Linux не вешать систему при копировании
    > сотен мелких файлов на 8ми ядрах

    Чокаво? Я копирую целые деревья линукскернеля, сколько там мелких файлов посчитай сам. Явно не сотни, скорее десятки тысяч. И таки почему-то ничего не вешается.

     

     ....большая нить свёрнута, показать (40)

  • 1.3, Аноним (4), 20:33, 02/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –12 +/
    Обработчик нехватки памяти... Сейчас фиг найдешь кого-то, у кого ее меньше 8 гиг. В основном по 16 и выше. И шо, все равно не фатает? :(
     
     
  • 2.6, Аноним (6), 20:36, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хром, вбокс и Де на гтк3, и всё, нету 8
     
     
  • 3.7, Аноним (4), 20:38, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты не поверишь, но у меня 4, и я это все запускаю, раз в пару дней так точно. А, еще и ФФ открыт с тундрабердом.
     
  • 3.22, Аноним (4), 21:00, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Хром, вбокс и Де на гтк3, и всё, нету 8

    Ну ок, вот тебе slimjet (хром), vbox (с фотошопом даже) и DE на GTK3. Память - 4 гига. Внимание на память в коньках справа: http://0x0.st/ic45.png

     
     
  • 4.30, Аноним84701 (ok), 21:29, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>Хром, вбокс и Де на гтк3, и всё, нету 8
    > Ну ок, вот тебе slimjet (хром), vbox (с фотошопом даже) и DE
    > на GTK3. Память - 4 гига. Внимание на память в коньках  справа: http://0x0.st/ic45.png

    И?
    2 окна браузера по 3 вкладки c  Opennet и LOR.
    Виртуальный ящик с древней XP и не менее древней версией (пустого) фотошопа 7 (причем, емнип, виртуалка отжирает у системы только действительно задействованную память).
    И собственно все – 2.32 из 4 ГБ как корова языком.

    А если в виртуалке нужно будет запустить фотожоп свежее 18 лет (да еще и не просто для запуска вхолостую, а для обработки чего-то) и вместо лора в браузере открыть тройку вкладок "жирной" доки страниц на тыщу?

     
     
  • 5.32, Аноним (4), 21:41, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просил - получил, как говорится. Я к тому, что у меня есть еще в запасе для картинки в фотошопе и еще пары вкладок. Зачем их открывать 100500 - никогда не понимал. Дибилизм. Мне всего этого хватает с головой для работы.
     
     
  • 6.35, Аноним84701 (ok), 21:54, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чисто формально -- возможно И Я к тому, что древний фотошоп 2002 года с древне... большой текст свёрнут, показать
     
     
  • 7.40, Аноним (4), 22:12, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >древний фотошоп 2002 года с древней XP

    Ты повторяешься. Я уже это читал. Мне ничего новее не нужно. Винда себе и винда, какая разница, лишь бы свои задачи выполняла. Фотошоп тоже, я и 50% его функционала не использую. Уверен, и ты тоже, лол.

    Короче, для работы достаточно. Ничего не виснет и не уходит в ступор, еще и свободная память есть, а ее всего 4 гига. Как-то так.

     
     
  • 8.60, zzz (??), 02:26, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты-то тут каким боком С какого перепугу ты стал тем мерилом, чей набор софта ... текст свёрнут, показать
     
  • 8.87, fske (?), 08:53, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты математик или светлосиний ... текст свёрнут, показать
     
     
  • 9.134, fske (?), 13:45, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это меня функционалы минусуют ... текст свёрнут, показать
     
     
  • 10.175, Аноним (176), 02:48, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    тихо, сам с собою, правою рукою приключения Ларри МакЛаффера ... текст свёрнут, показать
     
  • 7.81, пох. (?), 07:46, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    top - 07 34 59 up 18 days, 11 00, 17 users, load average 0 22, 0 15, 0 14 Task... большой текст свёрнут, показать
     
  • 6.86, fske (?), 08:50, 03/03/2020 Скрыто модератором
  • +1 +/
     
  • 3.181, Аноним (181), 09:41, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На Orange Pi PC2 гиг оперативы.При нехватки памяти ядро прибивает самый ненужный процесс. В моем случае это был ssh сервер. Следующий по ненужности оказался nginx. Это полный пи...
     
     
  • 4.186, Аноним (-), 21:21, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > оказался nginx. Это полный пи...

    Ну, правильно, кто ж сейчас маны то читает и вес процессам для oom killer настраивает? :)

     
     
  • 5.205, kek (??), 08:41, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    sshd имеет oom_score_adj=-1000 из коробки обычно
     
     
  • 6.220, Аноним (-), 07:17, 07/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > sshd имеет oom_score_adj=-1000 из коробки обычно

    У того анонимуса это походу было не так.

     
  • 2.8, yaya (?), 20:39, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да. Пишешь какую-то свою прогу, которая из-за ошибки ушла в бесконечный цикл по захвату памяти. Комп становится полностью нерабочим - все 8 гигов пытаются слиться на диск, чтобы дать достопочтенной проге дальше захватывать память. И ты такой сидишь, ждёшь когда появляются временные окна какой-никакой работоспособности и выходишь сначала в консоль по ctrl-alt-f1 (потому что X'ы уже всё, не отвечают), потом вводишь свои логины с паролями и кое-как вызываешь долгожданный kill - и всё это с большими перерывами по фризам, данные же всё льются и льются на диск.
     
     
  • 3.10, Аноним (4), 20:41, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А можно спеки твоей машинки? А также в чем пишешь код и запускаешь? Интересно до жути.
     
     
  • 4.135, yaya (?), 13:49, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А можно спеки твоей машинки?

    i3-2100 CPU @ 3.10GHz, 8 ГБ памяти, диск ST500DM002-1BD14

    # cat /proc/meminfo | fgrep Swap
    SwapCached:         9176 kB
    SwapTotal:       8273916 kB
    SwapFree:        7804412 kB

    > А также в чем пишешь код

    vim

    >  и запускаешь?

    Эээ, mate terminal через команду ./a.out

    > Интересно до жути.

    Фирму мышки и клавиатуры не сказать?

     
     
  • 5.168, Аноним (-), 22:52, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > SwapTotal:       8273916 kB

    Сэру никогда не приходило в бошку что вообще записать 8 гигз на механический диск - это не очень быстро? А ежели еще и 4К кусочками с достаточно рандомным доступом, ибо это эмуляция _RAM_ в которой никаких seek нет... :)

     
     
  • 6.184, yaya (?), 20:28, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не поняли суть проблемы? Проблема не в том, что я ожидаю, что 8 гигз свопаться будет быстро и всё будет летать. Проблема в том, что система ушла в полную неотзывчивость. Я бы с удовольствием бы прибил бы программу, которая начала своп грузить, но я не могу этого сделать, потому что нет отклика.
     
     
  • 7.187, Аноним (-), 21:26, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > удовольствием бы прибил бы программу, которая начала своп грузить, но я
    > не могу этого сделать, потому что нет отклика.

    Да ну ладно, alt-sysrq-f это довольно быстро решает. Это ручной пинок oom killer, в свежих ядрах он достаточно метко гасит именно жиртрестов, а не те ужастики про которые пох рассказывает :D.

    А так без свопа, только zram на пару гигз + ssd под систему это примерно так: при runaway процессе все тупит секунд 5. Бдыщ. Runaway процесс пристрелен oom killer. И усе. Хотя, если вам нравятся тормозные лагучие системы, вы в вашем праве переть другими маршрутами и наслаждаться результатами, но вот ниоткуда не следует что это какое-то неотъемлимое свойство системы :)

     
     
  • 8.200, iPony129412 (?), 06:41, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну как бэ по нормальному ОС сама должна как-то реагировать Я уж про клавишу sys... текст свёрнут, показать
     
     
  • 9.221, Аноним (-), 07:24, 07/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так она и реагирует Просто в зависимости от кофигурации и настроек это может бы... большой текст свёрнут, показать
     
  • 3.25, YetAnotherOnanym (ok), 21:14, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > чтобы дать достопочтенной проге дальше захватывать память

    Вы хотите сказать, что ОС, которой скоро будет тридцать лет, до сих пор не имеет средств для разруливания такой ситуации?

     
     
  • 4.29, Аноним (-), 21:27, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не имеет, я полностью подтвержаю слова автора. Спека моей машины - Ryzen 7, 32 гига ОЗУ. При копировании десятков гигов система может повиснуть, точнее курсор мыши будет двигаться, а кликнуть нельзя ибо система не отвечает.
     
     
  • 5.33, Аноним (4), 21:44, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Ryzen 7, 32 гига ОЗУ
    >При копировании десятков гигов система может повиснуть

    Честно, не понимаю. Это Linux настолько *не готов для десктопа* что ли? Тогда это печаль, серьезно.

    P.S. Опеннет посчитал слово shtole (на русском) неприемлемой лексикой. Ахаха.

     
     
  • 6.54, Аноним (-), 01:40, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    А ты часто копируешь дксятки гигов с одного винта на другой или на тот же самый? От ответа на этот вопорос зависит твоя точка зрения готов ли Linux для десктопа или нет.
     
     
  • 7.61, zzz (??), 02:28, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А что это за отмазки пошли? Типа, раз нечасто - то какбе и нет проблем?
     
  • 7.68, Аноним (68), 05:35, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня периодически бывает такое. Линукс встаёт колом, да.
     
     
  • 8.108, Аноним (-), 11:05, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Hint выдели под данные отдельные диски А систему лучше на быстрый SSD Своп вы... текст свёрнут, показать
     
     
  • 9.141, пох. (?), 15:34, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    а как он их скопирует-то на отдельные, если оно - виснет И у меня ощущение что ... текст свёрнут, показать
     
     
  • 10.159, Аноним (159), 22:21, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле, у него именно, натурально, deadlock в ядре Из которого оно не выходит... текст свёрнут, показать
     
     
  • 11.160, Аноним (159), 22:23, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ЗЫ еще кстати очень помогает собрать себе full preempt кернель Я это практикую ... текст свёрнут, показать
     
  • 9.201, iPony129412 (?), 06:47, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не поможет - проходили ... текст свёрнут, показать
     
     
  • 10.222, Аноним (-), 07:25, 07/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле - не поможет Я вон не обломался тест от чувака запустить И oom killer... текст свёрнут, показать
     
  • 5.34, Аноним (4), 21:45, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так, стапэ! А если это сервак, гоняющий файло? Там что, тоже нельзя копировать десятки гигов теперь? :(
     
     
  • 6.53, Аноним (-), 01:39, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Как давно на серваке есть ГУЙ? Вообще хрен знает, что будет но у меня при копировании 40 гигов даже видео через youtube подвисало на минуту или типа того или если у VLC нажать паузу то потом видео заново не запутсить пока всё не скопируется.
     
  • 6.55, Аноним (-), 01:49, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И ещё самый прикольный прикол забыл сказать, если копировать эти несколько десятков гигов с винта на винт или на тот же самый винт то через несколько минут перестаёт работать сеть. Например торрент качалка не может качать и т.п. Похоже, что ядро просто не успевает обрабатывать сетевуху (прерывания или обработчики прерываний и т.п.) и она ничего не принимает и не посылает.
     
     
  • 7.161, Аноним (-), 22:32, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > то через несколько минут перестаёт работать сеть. Например торрент качалка не
    > может качать и т.п.

    Это надо ping или подобным проверять, а не торенткачалкой! С торенткачалкой может быть так что та встрянет тряпочкой на файловом IO, кернел вкалывает, прога висит в сисколе, если тот тормознутый, а качалка не выносит это в отдельный тред или какое там асинхронное IO - ну тогда до работы с сетью дело дойдет не скоро. На вид больше похоже на качественный затык дискового IO, вероятно, здорово фрагментированный файл, на механическом диске.

     
  • 5.80, iPony129412 (?), 07:39, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Не имеет, я полностью подтвержаю слова автора. Спека моей машины - Ryzen 7, 32 гига ОЗУ. При копировании десятков гигов система может повиснуть

    Ну это же линукс.
    https://askubuntu.com/questions/1212212/how-to-copy-12gb-file-from-ubuntu-19-1

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

     
     
  • 6.89, fske (?), 08:58, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Windows
    >файлы мышевознёй в один клик без проблем копирует

    Я так и знал, что больше она ни для чего и не нужна

     
  • 6.105, Аноним (104), 10:53, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Он же не пользователь-ламер Windows который файлы мышевознёй в один клик без
    > проблем копирует.

    А если файлов 200 - то и кликов у мышевозилы получается 200 :). А копировать иерархию размером например с линукскернел под виндой - а вы это попробуйте вообще, как раз и расскажете как это все "не тормозит". Про то что вы cp --reflin там не сможете думаю и ежику понятно, так что иерархия займет место второй раз, даже если почти идентична первой :)

     
     
  • 7.112, iPony129412 (?), 11:18, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А копировать иерархию размером например с линукскернел под виндой - а вы это попробуйте вообще, как раз и расскажете как это все "не тормозит"

    Ну так делал. Ничего особенного не заметил.

     
     
  • 8.162, Аноним (-), 22:32, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Угу, кроме времени этой операции В линухе это как-то резвее ... текст свёрнут, показать
     
  • 7.122, пох. (?), 12:19, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А копировать иерархию размером например с линукскернел под виндой - а вы это попробуйте вообще

    а в чем проблема, я именно ей lizardfs тестирую? Да, из под винды, меня ее драйвер интересует, а не линуксный.

     
     
  • 8.163, Аноним (-), 22:33, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не то чтобы вот прям проблема, но после линуха время такой операции как-то аннои... текст свёрнут, показать
     
  • 6.120, пох. (?), 12:16, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты точно прочитал, что тот хмырь и _куда_ копировал Он пытался слить 12гиговую ... большой текст свёрнут, показать
     
     
  • 7.127, iPony129412 (?), 12:31, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > ты точно прочитал, что тот хмырь и _куда_ копировал? Дай угадаю - оно как "диск" у него видится исключительно с помощью gvfs.

    Да, читал. В первую очередь про косяк в GVFS подумал.
    Это просто демонстрация принципа.

    > Уверен, что под вендой перкрасной у тебя мышеклики не приведут к тому же самому?

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

     
     
  • 8.128, пох. (?), 12:41, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    это не в gvfs косяк, это кого надо косяк, его брать не полагается gvfs просто д... текст свёрнут, показать
     
     
  • 9.131, iPony129412 (?), 12:54, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да не суть в чём косяк, просто в линуксах это сделано через одно место Ну как б... текст свёрнут, показать
     
     
  • 10.170, Аноним (-), 23:05, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да оно у всех сделано хрен знает как Там какой-то чудесатый протокол И на винд... текст свёрнут, показать
     
  • 4.137, yaya (?), 14:33, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы хотите сказать, что ОС, которой скоро будет тридцать лет

    Вы, наверное, имеете в виду ядро Linux, а не ОС...

    > до сих пор не имеет средств для разруливания такой ситуации?

    Вы меня спрашиваете? Я - пользователь ОС. Я получил плохо-отзывчивую систему в определённой ситуации.

    Вот пример, который уводит мою систему во фриз:
    '''
    #include <stdint.h>
    #include <stdlib.h>

    int main()
    {
    while (1) {
    uint64_t *buf = malloc(1024 * 1024 * 1024);

    if (buf != NULL) {
    for (int i = 0; i < 1024 * 1024 * 1024 / 8; i += 4096 / 8) {
    buf[i] = 0;
    }
    }
    }
    return 0;
    }
    '''

     
     
  • 5.164, Аноним (-), 22:34, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пардон за глупый вопрос, а memset ща не модно? Или с ним уже не то?
     
     
  • 6.185, yaya (?), 20:30, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы невнимательно прочитали код. Там не делается memset. Там просто тупо трогается страница, чтобы ядро её выделило физически. Если бы не было записи (или чтения) никакой страницы физически выделено не было бы и malloc бы спокойно себе отработал бы до какого-то момента и всё на этом, никакого бы свопа не началось бы. А так, если физически начать трогать страницы, то начинает включаться своп и я получаю систему без какого-либо отклика - только диск шуршит себе и никого не хочет слушать.
     
     
  • 7.192, Аноним (-), 01:47, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы невнимательно прочитали код. Там не делается memset. Там просто тупо трогается страница,

    А, пардон, не обратил внимание что это 1 раз на 4096, так явно резвее.

    > чтобы ядро её выделило физически.

    Я в курсе этой механики и прочих overcommit'ов и проч, все же свою систему следует знать :)

     
  • 7.193, Аноним (-), 01:58, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы невнимательно прочитали код.

    В качестве компенсации за тупняк:
    1) Компил именно этого кода с -O2 довольно фиговая идея, настолько оптимизируется что потом вообще не жрет память :)
    2)


    $ time ./memhog
    Killed

    real 0m4.627s
    user 0m1.432s
    sys 0m3.139s



    Итого? Умер за 4.6 секунды, расстрелян из реактивного г@вномета oom_killer'ом. В процессе даже плеер с музоном не икнул. Приветы поху и прочим великим системщикам :). Я все же посчитаю что умею готовить пингвинов получше этих :)

     
  • 3.91, rshadow (ok), 10:05, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В консерватории, пробовали править?
    Нахрена вообще на современной тачке нужен своп на диск? Уменьшать жизнь ssd? Хочешь своп, ну zram настрой что-ли. Закинь туда метров 500 и забудь. Раз уж 2т.р. на еще планочку жалко.
    Браузер сожрал всю память? Напиши 10 строк конфига для cgroups и жестко прибей ему 4 гига. Больше он никого не повесит.
     
     
  • 4.96, пох. (?), 10:25, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    угу, модно, молодежно, современно - браузеру четыре гига, почтовику два, чятику шесть, а этому - не дала, потому что больше нету, надо еще планочку памяти.
    И все прибивать гвоздиком.

    RSX11, последние версии - 1982го года. Там примерно так и было принято.

    Только вот это была - RT OS, и память там выделяли чтоб получить предсказуемое время реакции, а не потому что по другому не умела.

    Но потом это всех затрахало, и кто мог - спер unix6, а кто не мог - вынужден был переизобретать его.

     
     
  • 5.121, rshadow (ok), 12:16, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Путаешь гарантии с ограничением. Считай что это ООМ который ты сам настроил для конкретного процесса.

     
     
  • 6.123, пох. (?), 12:22, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Путаешь гарантии с ограничением

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

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

     
     
  • 7.129, rshadow (ok), 12:44, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Маразм это в идеальной вселенной с розовыми пони. А здесь у нас есть пара жрущих не в себя приложений. Работают они хорошо, просто немного подтекают.
    Рестарт на лимите это стандартная практика, даже для серверного ПО. там правда рестартят форки обработчиков, а не все приложение. Но унас тут гуй, так что без выбора.

    P.S. Неконструктивная критика - критика без предложений исправить. Бессмысленна, беспощадна и ничего не изменит. Просто нытье...

     
     
  • 8.132, пох. (?), 12:56, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну щас все брошу и пойду еще линукс за вас чинить Во фре кое-кто пытался исправ... текст свёрнут, показать
     
     
  • 9.194, Аноним (-), 02:02, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На, откушай, мегасистемщик, бэть https www opennet ru openforum vsluhforumID3... текст свёрнут, показать
     
  • 5.125, ДавноСидим (?), 12:26, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько я помню, RSX-11(как M, так и S) все же не притворялась, что она realtime.
    Для этого у Digital была RT-11
    Хотя это к основной теме никак не относится.
     
     
  • 6.130, пох. (?), 12:50, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    она не притворялась, она ей - была. Даже, кажется, параметры этого рилтайма где-то были детально расписаны, с допустимыми временами обработки.

    rt11 вообще сложно назвать полноценной операционной системой, она недалеко ушла от "дос с резидентной программой [одной]". Разьве что совсем поздние версии, которых я уже не застал, за ненадобностию на больших машинах и неработоспособностью на мелких.

     
  • 4.136, yaya (?), 14:14, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В консерватории Не, не пробовал У меня стационарный компьютер, в консерваторию... большой текст свёрнут, показать
     
  • 4.153, Аноним (153), 18:27, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да вроде виснут те у которых при нехватки памяти файл подкачки или раздел подкачки на HDD. Но вариант так себе размещать подкачку на SSD, привык, что на Win ssd ненужен для файла подкачки чтобы не завыиснуть опер. системе. Но пришлось купить SSD под раздел подкачки. SSD для этого и был куплен. OC на HDD.
     
     
  • 5.154, Аноним (153), 18:34, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нет я не о том, что мне жалко износа SSD под подкачку использовать, пока не жалко.
     
     
  • 6.165, Аноним (-), 22:36, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет я не о том, что мне жалко износа SSD под подкачку
    > использовать, пока не жалко.

    В линухе можно zram поюзать. Будет такой себе сжатый RAM для малоактивной фигни. Весьма годная штука - скорость работы все же ближе к оперативе чем к диску.

     
     
  • 7.177, Аноним (-), 08:42, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Моё мнене на моём опыте. Zram хорош это если много памяти. А если 2 - 4ГБ не сильно поможет. Zram это отсрочивание момента когда файл подкачки в памяти заполнится ( zram ) и начнётся использоватся подкачка на диске.
     
     
  • 8.178, Аноним (-), 08:49, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вариант без подкачки я не расматриваю по тому, что когда нет памяти и нет подкач... текст свёрнут, показать
     
     
  • 9.179, Аноним (-), 09:17, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати если фал подкачки на диске заполнится тоже зависнит Было у меня таке ... текст свёрнут, показать
     
     
  • 10.180, Аноним (-), 09:21, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Только у меня не файл подкачки, а раздел подкачки Путаю раздел с файлом подкачк... текст свёрнут, показать
     
  • 8.188, Аноним (-), 21:34, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А если памяти мало, это не хорошо, а просто офигенно Потому что в сжатый св... большой текст свёрнут, показать
     
  • 2.14, Аноним (11), 20:46, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И 8GB забить сложно, да. И 16, да. Нельзя нечаянно запустить пару виртуалок и поставить систему колом. И прямо сейчас на citilink нет уймы ноутов с 4GB памяти. Или например, есть такой баг: https://bugzilla.kernel.org/show_bug.cgi?id=201673 на который разрабам ядра по фигу.

    Когда уже гнилые отмазы закончаться у Линукс фанатов? Если ОС такая идеальная, то почему она может раком вставать даже на "поддерживаемом" "православном" оборудовании?

    // b.

     
  • 2.16, VINRARUS (ok), 20:47, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > у кого ее меньше 8 гиг. В основном по 16 и выше. И шо, все равно не фатает? :(

    Не фатает. Ядро упоротое просто и хоть 1 Тб оперативки ему дай всё равно будет не работоспособно полностью без swap.

     
     
  • 3.20, Аноним (11), 20:56, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ядро упоротое просто и хоть 1 Тб оперативки ему дай всё равно будет не работоспособно полностью без swap.

    К слову сказать, я работаю без SWAP что на Windows, что на Linux уже лет 15 и не имел по этому поводу ни одной проблемы. Так что не стоит выдумывать.

    // b.

     
     
  • 4.21, VINRARUS (ok), 20:58, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И как твой Linux себя ведёт при свободных 10 Мб?
     
     
  • 5.37, Аноним (11), 22:04, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ХЗ, у меня сейчас 64GB - пока меньше 20GB не удалось достичь :D

    Больше всего забивает память 7z со словарём 1.5GB и виртуалки (я диски виртуалок выношу в ... оперативную память, чтобы быстрее пахало).

     
     
  • 6.44, Аноним (4), 23:13, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Можешь поделиться рецептом выноса дисков виртуалок в оперативку? Спасибо.
     
     
  • 7.49, Аноним (49), 00:23, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так cp -a ~/VirtualBox/VM\ Name /tmp

    /tmp ессно примонтирована в tmpfs (по крайней мере во многих свежих дистрах так). Если нет, то

    tmpfs                                     /tmp          tmpfs defaults,nosuid,nodev,seclabel,size=75%

    Но это очень много рамы нужно. 75% на 64GB - это 48GB. Поосторожней!

    Если у вас всего 16, то больше 50%, наверное, под tmpfs не стоит выделять. Из-за бага в ядре можно систему положить напрочь за пару секунд (баг я выше привёл) - ядро tmpfs считает чем-то, что нельзя из памяти убирать.

    // b.

     
     
  • 8.65, Аноним (65), 04:04, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И правильно считает ... текст свёрнут, показать
     
  • 8.67, Аноним (67), 05:31, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    8230 Как-то быстро спалился Куда убрать-то ... текст свёрнут, показать
     
     
  • 9.75, Аноним (75), 07:14, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Убрать из памяти tmpfs - это модуль ядра, а не процесс, поэтому память, которую... текст свёрнут, показать
     
     
  • 10.84, Секция башенного крана (?), 08:25, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    tmpfs - это файловая система, которая может быть очищена ... текст свёрнут, показать
     
  • 9.85, Аноним (85), 08:25, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Он не ведает о чём говорит ... текст свёрнут, показать
     
  • 3.31, Аноним (-), 21:29, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Наоборот, со свапом система не работоспособна при утечки памяти, просто перестаёт отвечать, а без свапа процесс потребляющий больше всего памяти будет убит OOM Killer, такой опыт.
     
  • 2.41, Аноним (41), 22:22, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот к примеру я пишу программы для микроконтроллеров разных Открыл FF для с... большой текст свёрнут, показать
     
  • 2.66, iPony129412 (?), 04:37, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Сейчас фиг найдешь кого-то, у кого ее меньше 8 гиг.

    На ноутбуке одну вещь србирал. 8 ШБ ОЗУ, чего-то бомбануло и 16 ГБ заняло.
    Страшно подумать, если бы линукс был бы 😮

     
     
  • 3.76, Секция башенного крана (?), 07:16, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Собирать опасно без юзерспейсных обработчиков. Но так как обработчики есть и широко используются желающими, то и проблемы нет. Федора начиная с 32 будет поставляться с юзерспейсными обработчиками, например.
     
  • 3.107, Аноним (-), 11:03, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Страшно подумать, если бы линукс был бы 😮

    Да то же что и на винде. Можно подумать, кто-то смог отменить тот факт что эмулировать винчом оперативку дико тормозно. Ну, нажал alt-sysrq-f - гамнюк получит по рогам. Это сильно быстрее чем пытаться в гуйном таскманагере в истошно тормозящей системе понять кто там вообще память сожрал. Так и скажи что ты просто не умеешь линем пользоваться, включая шустрый отстрел runaway программ :)

     
     
  • 4.111, iPony129412 (?), 11:13, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Да то же что и на винде.

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

    > Так и скажи что ты просто не умеешь линем пользоваться

    Возможно и можно как-то настроить, и так далее... Но не имею желания - проще ОЗУ закидать.

     
     
  • 5.189, Аноним (-), 21:41, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > С линуксами бесполезно.

    Ну вообще-то в моей конфиге я даже alt-sysrq-f не успеваю обычно бабахнуть, oom killer приходит раньше :). И при этом хотя у меня и "нет свопа", неиспользуемые станицы В СЖАТОМ ВИДЕ выталкиваются в zram, расчищая больше оперативки тем кто ей активно пользуется. Что как бы хорошо и правильно. А в винде вообще аналога этой клевой технологии просто нет.

    > Возможно и можно как-то настроить, и так далее... Но не имею желания

    Да я вон выше написал как.

    > - проще ОЗУ закидать.

    Не гарантирует отсутствие тупняка при runaway. В отличие от того что я написал, где у меня система тупит секунд 5, после чего oom killer выносит жиртреста и вообще делать ничего не надо :)

     
     
  • 6.199, iPony129412 (?), 06:31, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А в винде вообще аналога этой клевой технологии просто нет.

    Этой что ли?

    https://www.howtogeek.com/319933/what-is-memory-compression-in-windows-10/

     
  • 4.124, пох. (?), 12:25, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, нажал alt-sysrq-f - прибил свой DE. Ну а заодно все что имело несчастье открыть на ем окошко, потому что вся гуйня порестартилась следом.

    Поправил, не благодари.

     
     
  • 5.166, Аноним (-), 22:39, 03/03/2020 Скрыто модератором
  • +/
     
  • 5.169, Аноним (-), 22:55, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На 2.6.чототам - наверное оно как-то так и работало. А ща это обычно выносит самую жирную задачу. В вменяемых дистрах к тому же доперли вес процессам затвикать - желание OOM killer вынести процесс настраивается. Даже Гарри Поттер допер своим процессам сие поправить, однако.
     
  • 2.92, Аноним (92), 10:12, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Достаточно одного тяжёлого запроса в постгре на десктопе, чтобы вспомнить где находится кнопка ребута или sysrq.
     

     ....большая нить свёрнута, показать (100)

  • 1.5, бублички (?), 20:36, 02/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    "sysctl -w vm.swappiness=1" ну и памяти докупить пропорционально задачам, и никакие костыли не понадобятся
     
     
  • 2.9, Аноним (4), 20:40, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    *на ушко*: swappiness уже давно ничего не решает.
    А вот память - да. Здесь я согласен. Сидят нищ*броды и ноют, что не хватает им памяти, видишь ли.
     
     
  • 3.73, Секция башенного крана (?), 06:47, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Решает, но не так, как думают ретартды.
     
     
  • 4.93, Аноним (92), 10:13, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я пробовал все возможные значения сваппинес и становилось только хуже.
    Объясни как влияет.
     
     
  • 5.182, Антон (??), 14:33, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Поехавшие рекомендуют уменьшать свопинес. На самом деле это приводит к замедлению своппинга и io операций при исчерпании памяти. Либо ставьте свопинес выше 10, либо вообще отключайте своп нахрен.

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

     
  • 2.13, cat666 (ok), 20:43, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Как вы задолбали с этим swappiness. Никогда того не было и вот опять. Вы для начала разберитесь что этот параметр делает, а потом пишите всякую чушь.
    Для просвещения https://www.howtogeek.com/449691/what-is-swapiness-on-linux-and-how-to-change-
     
     
  • 3.19, Аноним (11), 20:53, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А зачем фанатам знать мать часть Они на то и фанаты Это как верующие, подавляю... большой текст свёрнут, показать
     
     
  • 4.58, Аноним (58), 02:21, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так редит уже как двач стал, только неанонмный, естессно там фанбоев полно.
     
  • 4.70, iPony129412 (?), 06:25, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так же и Линукс/Windows/MacOS/фанаты in general. Они выдумают себе идола

    Да как-то среди Windows и MacOS не особо. Особенно первые так и вообще только так матом покрою разработчиков, если у них на васян репаке что не заработает 😀

     
  • 4.106, пох. (?), 10:59, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Без разбору позволять неискусным чтение Св Писания тоже значит, что и младенца... большой текст свёрнут, показать
     
     
  • 5.110, Аноним (-), 11:10, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Поэтому свою систему и ее особенности нехило бы знать Да, это несколько сложнее... большой текст свёрнут, показать
     
     
  • 6.117, iPony129412 (?), 11:38, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чего А почему я на ту же Ubuntu потратил столько денег, что наверно этак надо б... большой текст свёрнут, показать
     
     
  • 7.167, Аноним (-), 22:47, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, потребуй их возврата, чтоли, если чем-то недоволен Хоть я и не понимаю как ... большой текст свёрнут, показать
     
  • 3.23, Аноним (4), 21:08, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То слишком сложно для него. Еще и на буржуйском. Надо было что-то типа "ну чо, пацаны, седня перетрем за свапинесс, короче так..." и в двух словах, что это такое.
     
     
  • 4.59, Аноним (58), 02:22, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Только так и можно завоевать массовость.
     
  • 2.72, Секция башенного крана (?), 06:44, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >"sysctl -w vm.swappiness=1"

    Вот юзкейс:
    был у юзера свопинес 1, и все висло. Поставил 60 - и полегчало.

    > I've reduced my swapfile now to 3 GB and changed swappiness to 60. Running memload doesn't lock up the system as badly anymore

    https://github.com/hakavlad/nohang/issues/85#issuecomment-586387025

     
     
  • 3.88, бублички (?), 08:54, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    уже с десяток лет не делаю swap больше 1 GB - он просто годами не используется на серверах где объём памяти начиная от 64 GB. а swapiness лишь помогает чтоб даже в этот 1 GB ничего не сместилось, кроме совсем уже критических ситуаций, которые мониторятся и тщательно изучаются. а вот earlyoom и подобным костылям, на мой взгляд место в топке
     
  • 3.171, ананчик (?), 00:21, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Стоит спросить у пользователя захрена он изменил дефолт? Я так тоже могу, грохну к хренам fstab и буду ходить рассказывать что не работает ваш линакс
     
     
  • 4.190, Аноним (-), 22:40, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > грохну к хренам fstab и буду ходить рассказывать что не работает ваш линакс

    Показать как Linux работает без fstab? :) Systemd смешно чертыхается, конечно, но ничего фатального не происходит.

     
     
  • 5.207, Анонимусис (?), 13:17, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У systemd есть объект, который называется точка монтирования. Если вы умеете его правильно готовить, то на fstab никто ругаться не будет, ибо легаси.
     
     
  • 6.223, Аноним (223), 07:30, 07/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > У systemd есть объект, который называется точка монтирования. Если вы умеете его
    > правильно готовить, то на fstab никто ругаться не будет, ибо легаси.

    У меня не было ни того ни другого. И собственно я не хотел чтобы systemd своими лапками ремаунтил файлуху - ремаунт, видите ли, загрузку железки замедляет, а кернель ее и так правильг маунтит. Systemd прикольно чертыхается на такое комбо, не понимая откуда это вообще взялось XD но никаких побочных эффектов кроме матюка это не дает.

    И нет, не надо предлагать маунтить это из системды - это rootfs, на коем systemd и лежит :P

     

  • 1.15, Нанобот (ok), 20:46, 02/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > сброс привилегий root

    А как оно после этого прибивать процессы будет?

     
     
  • 2.17, VINRARUS (ok), 20:48, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Через sudo =)
     
  • 2.56, Антон (??), 01:56, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    CAP_KILL
     
     
  • 3.156, Нанобот (ok), 18:45, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    получается процесс с правами убивать всех :) такой себе жнец с косой (ну или шинигами, если хотите)
     

  • 1.26, YetAnotherOnanym (ok), 21:16, 02/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Добавлена подсветка отладочного лога светло серым цветом

    Нужно, да.

     
  • 1.27, Аноним (-), 21:21, 02/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А в FreeBSD как, разве лучше?
     
     
  • 2.36, Alex_K (??), 22:02, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Фря процессы, жрущие много памяти, убивает, в dmesg и /var/log/messages
    будет что-то типа:
    pid 5490 (mysqld), uid 88, was killed: out of swap space
     
     
  • 3.38, Аноним (11), 22:05, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но, вообще, была инфа, что во FreeBSD всё так же плохо.
     
     
  • 4.62, zzz (??), 02:55, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    На лоре тебе и не такой инфы расскажут. За всю свою практику ни разу не сталкивался с тотальными фризами из-за памяти. Тупило, отвечало через минуту, но отвечало. А тут как-то попросили поставить линукс на старый уже комп с двумя гигами. Ну я поставил. Открыл скайп, пяток вкладок в ФФ - и у меня всё встало колом. Подождал, еще подождал - через десять минут стало понятно, что ждать бесполезно и надо жать ресет. Такой фигни у меня ни разу не было ни на винде, ни на фрюхе, которую я одно время пользовал десктопом.
     
     
  • 5.172, ананчик (?), 00:29, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    что то вы лукавите, нормально суся на 2гб работает. Все вам не так то спинлок медленно работает, то OOM криво. Если вы что то до настраивали или школьник который собирал ваш дистрибутив решил поиграть в оптимизатор - только вашы пролемы
     

  • 1.39, Alexey (??), 22:04, 02/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Во FreeBSD не лучше. Эффект наблюдается при зацикливании сборки из портов, до полного исчерпания. ZX Spectrum хорошо реагировал на подобное - нет памяти и всё.
     
     
  • 2.45, анонн (ok), 23:34, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Во FreeBSD не лучше.

    Я тут, на опеннете, даже демку со друзей программой приводил - или пробивается ядерным ОоМ или не получает память
    > Эффект наблюдается при зацикливании сборки из портов, до
    > полного исчерпания.

    Разве что если из под рута в tmpfs или MD собирать.

     
     
  • 3.46, анонн (ok), 23:36, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >со друзей программой приводил

    жручей

     
     
  • 4.47, Аноним (47), 23:55, 02/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дело не в жручести. Многое зависит от паттернов пользования и юзерспейсного аллокатора.
     
     
  • 5.50, анонн (ok), 00:27, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Дело не в жручести. Многое зависит от паттернов пользования и юзерспейсного аллокатора.

    Еще больше - от настроек.
    vm.pageout_oom_seq - выставить поменьше, скажем 4
    и возможно стоит посмотреть
    vm.pfault_oom_wait
    vm.pfault_oom_attempts

    А сам фряшный OOM простой как тапок, подсчитывает тупо кол. резидентных страниц  - там комментарий к принципу работы как бы не больше самой реализации.
    Ну и да - если забить рамдиск от рута, то вполне придет звиздец.

     
     
  • 6.51, Аноним (47), 01:17, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Т.е. 1 в 1 проблемы линукса? Зачем тогда уверять, что там что-то лучше устроено…
     
     
  • 7.63, zzz (??), 02:57, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Фряха сохраняет минимальную отзывчивость, в линуксе - только ресет. А так-то да, 1 в 1.
     
     
  • 8.126, Аноним (47), 12:26, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я не помню, когда мне последний раз пришлось резет в линуксе прожимать Это наве... текст свёрнут, показать
     
     
  • 9.144, zzz (??), 16:29, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Выше я уже давал юзкейс машинка с 2Гб Под своп отдал 2 Гб Открыл скайп, откры... текст свёрнут, показать
     
     
  • 10.146, Аноним (47), 16:45, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это на линуксе На ПК 8ГБ памяти, 4ГБ своп Пока своп не заполнится на 100 я и ... большой текст свёрнут, показать
     
  • 10.147, Аноним (47), 16:50, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если sysrq f не помогает, можно нажать sysrq e послать сигнал term всем процесса... текст свёрнут, показать
     
     
  • 11.195, Аноним (-), 02:11, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    и это пингвин, поставьте себе уже наконец более-менее современное ядро, там o... текст свёрнут, показать
     
  • 10.149, пох. (?), 17:09, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    время показывала - Эт она может А если тебе работать в мало памяти - и вот ч... текст свёрнут, показать
     
     
  • 11.157, zzz (??), 22:11, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Надо будет проверить - когда я её пользовал в качестве десктопа, проблем из-за р... текст свёрнут, показать
     
  • 10.173, ананчик (?), 00:42, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так надо былу свам раздел на стримере размещать Да это не показатель, у меня м... текст свёрнут, показать
     
  • 7.64, анонн (ok), 03:25, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    нет code time -l python -c x str x x x x for x in range 100000000 ... большой текст свёрнут, показать
     
     
  • 8.109, пох. (?), 11:06, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну вообще-то в том примере товарищ уж очень старался этот эффект получить А у f... текст свёрнут, показать
     
     
  • 9.198, Аноним (-), 05:47, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А эти причины случайно не ZFS назывались ... текст свёрнут, показать
     
     
  • 10.202, пох. (?), 07:42, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    я же сказал - разным zfs на этой системе может вообще не быть, а память вожрана... текст свёрнут, показать
     
     
  • 11.224, Аноним (223), 07:31, 07/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, блин, найди мне планки памяти на вон тех одноплатничках Но ты в принцип... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (19)

  • 1.69, КО (?), 06:05, 03/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Плохо будет если его хакнут, пробэкдорят или еще чего...
     
     
  • 2.71, Секция башенного крана (?), 06:26, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не беспокойтесь, я отслеживаю каждый коммит. И мои братья тоже.
     
  • 2.98, Аноним (-), 10:27, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хакнут обработчик OOM? Так он же не делает ничего кроме мониторинга памяти и сноса процессов? Если у вас систему при этом можно хакнуть, у вас уже имеются серьезные проблемы.
     

  • 1.97, Аноним (-), 10:26, 03/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > PATH_LEN

    А что, PATH_MAX ща не модно?

     
  • 1.138, yaya (?), 14:42, 03/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Народ, помогите собрать небольшую статистику. Вот пример, который уводит мою систему (centos 7, hdd 500 GB, 8 GB оперативки, swap включён на 8 ГБ, процессор i3-2100) во фриз:
    '''
    #include <stdint.h>
    #include <stdlib.h>

    int main()
    {
      while (1) {
        uint64_t *buf = malloc(1024 * 1024 * 1024);

        if (buf != NULL) {
          for (int i = 0; i < 1024 * 1024 * 1024 / 8; i += 4096 / 8) {
            buf[i] = 0;
          }
        }
      }
      return 0;
    }
    '''

    Собрать и запустить:
    # cc -std=c99 a.c && ./a.out

    И просьба написать:
    0) запустилось/не запустилось/прибилось
    1) дистрибутив
    2) swap включён или нет
    3) полный фриз/притормаживает/вообще не заметил
    4) диск: hdd или ssd
    5) настройки "из коробки" или что-то сами настраивали

     
     
  • 2.142, пох. (?), 15:56, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    запустилось, сожрало весь процессор (логично, как и то что система при этом, мягко говоря, не летает) и нагадило 7 гиг в своп из десяти возможных. На чем надоело и было прибито банальным ctrl-c

    Поскольку не очень понятно, что мы хотели в итоге узнать - что происходит при запуске троянской программы? Очевидно. Лечение - изоляция и лимиты. Что происходит при запуске легальной программы, которой действительно нужно перемолоть больше памяти чем может дать система - тоже очевидно. Лечения нет, кроме как бежать за планкой.
    Что происходит при запуске плохо написанной программы, которой столько памяти нафиг не нужно но все равно жрет (наиболее близкий реальный кейс к данному примеру) - тоже очевидно, лечение - выбросить макачий кал и больше не запускать.
    Система в большинстве этих случаев вполне оставляет время среагировать и возможность вмешаться. Без всякого shit-oom.

     
     
  • 3.143, yaya (?), 16:17, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, что запустили и отписались.

    > Поскольку не очень понятно, что мы хотели в итоге узнать - что происходит при запуске троянской программы?

    Да, моя оплошность, что я не написал в комментарии суть эксперимента. Не троянской программы, а ошибочной программы, которая в цикле начинает съедать память. Я приложил сильно атрофированный вариант, который воспроизводит поведение нормальной программы, в которой была допущена ошибка.

    PS. Это не выдуманный пример.

    > Система в большинстве этих случаев вполне оставляет время среагировать и возможность вмешаться. Без всякого shit-oom.

    А что у вас за система? Я свою привёл, у меня система настолько сильно начинает тормозить, что не реагирует ни на что.

     
     
  • 4.148, пох. (?), 16:55, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ошибки обычно иначе выглядят - вот типичная ошибка в днк разработчика 1960 ... большой текст свёрнут, показать
     
     
  • 5.155, yaya (?), 18:38, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > В целом - не вижу на этом вырожденном случае какого-то особо неправильного поведения системы.

    Да, интересно. Но вы это всё запустили в виртуалке - соответственно, можно найти кучу объяснений, почему вы не ощутили полного отсутствия отклика от системы.

    > Ну да, она тормозила - ну так и должна.

    То, что творится у меня, я бы не сказал, что "так и должна" :)

     
  • 2.145, Аноним (145), 16:30, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    *та самая картинка с велосипедом и палкой в колесе*
     
     
  • 3.151, yaya (?), 17:44, 03/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы так на все тесты реагируете? Багрепорты ни разу не писали? Обычно для поиска бага хорошо иметь тест.

    Или вы ходите по github'у и на все багрепорты с прикреплёнными тестами прикладываете картинку с велосипедом и палкой? Типа "ха-ха, вот дурак, зачем же ты так делаешь, если же видно, что оно не работает. Сам виноват - велосипедист с палкой, ха-ха" так что ли?

     
  • 2.174, ананчик (?), 00:49, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    тест не релевантен, нехватает sleep
    как только он съедает память то сразу выходит
    и еще вагон всего

    вам прежде чем статистику собирать неплохо бы понять что вы хотите проверить, понять как оно должно работать и код правильно написать

     
     
  • 3.183, yaya (?), 20:25, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > тест не релевантен, нехватает sleep

    Зачем sleep-то?

    > как только он съедает память то сразу выходит

    Вы не увидели там while (1)?

    > и еще вагон всего
    > вам прежде чем статистику собирать неплохо бы понять что вы хотите проверить, понять как оно должно работать и код правильно написать

    То, что я хочу проверить - я понимаю и написал такой маленький тест. Один человек уже его запустил, у него не возникло недоумений, как у вас. Он увидел, что его система начала притормаживать, но не критично. По ctrl-c он сумел срубить тест. Но он запустил его в виртуалке.

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

    Прежде чем давать советы и выглядеть дурачком, вы бы лучше спросили, что вам непонятно.

     
     
  • 4.191, ананчик (?), 23:44, 04/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем sleep-то?

    что бы не выжирал память за считанные секунды.
    >Вы не увидели там while (1)?

    Действительно он есть, что еще более странно что будет когда malloc будет возвращать ошибку
    while(1){} одно ядро убили.

    я похожие тесты крутил очень очень давно, когда памяти было действительно мало. И они закачивались тем что процесс умирал после жуткого просиживания по io. То что у вас  gui  просто встает колом тоже нормально это регулируется приоритетами процессов по io.

    а вот посадить такую  membomb в cgroups я не пробовал, думаю сейчас это решило бы практически все проблемы

    Учтите что соотношение размера оперативной памяти и размер свопа очень сильно влияет на ваши тормоза. Добавьте sleep где-то 1-5 секунд запустите vmstat/iotop или что то подобное и вам сразу станет понятно откуда тормоза.
    вот вам маленькая шпаргалка https://www.oracle.com/technical-resources/articles/it-infrastructure/dev-oom-

    в ядре все нормально на самом деле, дополнительное накручивание автоматики только вред приносит.

     
     
  • 5.197, Аноним (-), 02:22, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > что бы не выжирал память за считанные секунды.

    А в чем пойнт туповэйтить в разы дольше?

     
  • 5.203, пох. (?), 07:47, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Действительно он есть, что еще более странно что будет когда malloc будет
    > возвращать ошибку

    очевидно - будет крутиться в цикле, периодически спрашивая "а еще память есть? А если найду?"

    и если найдет - сожрет.

    > io. То что у вас  gui  просто встает колом
    > тоже нормально это регулируется приоритетами процессов по io.

    этот процесс не занимается io, думайте дальше.

    > а вот посадить такую  membomb в cgroups я не пробовал, думаю
    > сейчас это решило бы практически все проблемы

    да-да. ручное управление памятью каждому /bin/ls решит все проблемы, безусловно.

    Добро пожаловать в 1970й. В 72м это немного всем уже осточертело, и появился unix.

     
  • 5.209, yaya (?), 15:48, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > что бы не выжирал память за считанные секунды.

    В этом и есть тест. Не, конечно можно было бы открыть chrome, открыть кучу вкладок, открыть libreoffice книги "Война и мир", открыть видеоредактор, 3D-редактор, загрузить в них кучу файлов и надеятся нарваться на проблему "нехватки памяти", но это как-то долго и не факт, что получится проблема "нехватки памяти".

     
     
  • 6.213, пох. (?), 22:32, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> что бы не выжирал память за считанные секунды.
    > В этом и есть тест. Не, конечно можно было бы открыть chrome,

    не, это разные тесты. Тут весь поинт в том что память жрется быстрее, чем своппер успевает ее освобождать.

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

    Плюс они обрабатывают ошибки выделения этой памяти (скорее всего assert("опачки, кончилась?");
    но уж точно не навернуть еще десяток циклов в ожидании а вдруг появится).

    > "нехватки памяти", но это как-то долго и не факт, что получится
    > проблема "нехватки памяти".

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

     
     
  • 7.216, yaya (?), 16:52, 06/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Тут весь поинт в том что память жрется быстрее, чем своппер успевает ее освобождать.
    > получится, но она несколько иначе выглядит.

    Даже если не жрать память быстрее, а просто один раз запросить памяти на размер ОЗУ*2 и активно потом этой выделенной памятью пользоваться, то мы получим непрерывную активность на диске (если своп достаточно большой).

    Более того, процесс консоли может слится на диск и если я вдруг захочу прибить такую программу, то среди всего этого шуршания консоль будет долго идти до памяти и опять получится неотзывчивая система (если, конечно, ядро не остановит всю активность и не отдаст приоритет консоли, но тогда бы я мог прибить свою ту тестовую программу, но система не реагировала, поэтому предполагаю, что никакого приоритета не отдаётся).

    Если усложнить эксперимент (возвести в абсолют) и сделать своп на дискетах, то считай всё, проще сделать аппаратный ребут, чем перебирать дискеты.

    Никто не может заранее сказать, что запуская какую-то программу она не съест ОЗУ*2 памяти и не будет ею активно пользоваться, что аж все другие программы уйдут в своп.

    На это тоже интересно было бы написать тест и посмотреть как поведёт себя система.

    Впрочем, это не открытие америки. https://www.phoronix.com/scan.php?page=news_item&px=Linux-Does-Bad-Low-RAM

     
  • 2.196, Аноним (-), 02:21, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    См сюда - https www opennet ru openforum vsluhforumID3 119943 html 193 Запуст... большой текст свёрнут, показать
     
     
  • 3.210, yaya (?), 15:59, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за отзыв!

    Видимо, oom_killer спас в этой ситуации.

    Почему у меня, интересно, не сработал oom_killer? Запускаю ulimit у себя и вижу unlimited. Может в этом всё дело...

     
     
  • 4.225, Аноним (-), 07:38, 07/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А не должен был В системе кончилась память - он и возбух А кернель сильно древ... большой текст свёрнут, показать
     
     
  • 5.226, yaya (?), 12:50, 10/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я не много знаю про OOM killer, но он там как-то определяет, что убить, а что ос... большой текст свёрнут, показать
     
  • 2.206, Аноним (206), 09:45, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    i5-3570, 32 ГБ RAM

    0) запустилось/не запустилось/прибилось
    запустилось
    1) дистрибутив
    Debian testing amd64
    2) swap включён или нет
    выключен
    3) полный фриз/притормаживает/вообще не заметил
    "a.out" ~18 минут крутился с 30 ГБ RES и одним съеденным ядром, но без хоть сколь-нибудь заметного влияния на отзывчивость. Потом начало тупить и эксперимент был прекращён по Ctrl+C
    4) диск: hdd или ssd
    HDD, хотя при выключенном свопе это не важно
    5) настройки "из коробки" или что-то сами настраивали
    вроде бы, ничего специально не настраивалось

     
     
  • 3.211, yaya (?), 17:03, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за отзыв! Ничего себе у вас там памяти :)

    Интересно, что не сработал oom_killer, а спокойно отдалось 30 ГБ. Возможно после этого из malloc стал возвращаться NULL и просто крутился голый цикл, съедая CPU.

     
     
  • 4.214, Аноним (214), 23:36, 05/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Там ещё ~230-250 мегабайт свободные оставались, чего, возможно, было слишком много для срабатывания OOM killer-а, но слишком мало для overcommit-а при вызове malloc() на гигабайт. Собственно, тормоза начались только при попытке открыть новую вкладку с ютубом -- вероятно, аллокации в браузере снизили объём свободной памяти до некоторой критической отметки и ядро начало думать, что с этим делать. :)
     

  • 1.208, Не_аноним (?), 14:56, 05/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    rshadow
    > В консерватории, пробовали править?
    > Нахрена вообще на современной тачке нужен своп на диск? Уменьшать жизнь ssd?
    > Хочешь своп, ну zram настрой что-ли. Закинь туда метров 500 и
    > забудь. Раз уж 2т.р. на еще планочку жалко.
    > Браузер сожрал всю память? Напиши 10 строк конфига для cgroups и жестко
    > прибей ему 4 гига. Больше он никого не повесит.

    Ох эти болтуны не зная жизненой ситуации у людей пишут с лёгкостью почему не купил ещё себе памяти в ПК. Раз такой совечик и при деньгах переведи rshadow хотябы 300 рублей на покупку памяти для начала. Если переведёш отпишусь здесь, да перевод на 300 был. Если, что всё легально сервис от Яндекса. https://bit.ly/3caE7bG

     
  • 1.217, yaya (?), 16:52, 06/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Linux плохо себя чувствует при нехватке памяти: https://www.phoronix.com/scan.php?page=news_item&px=Linux-Does-Bad-Low-RAM
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру