The OpenNET Project / Index page

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



"Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от opennews (??), 23-Ноя-18, 20:29 
Состоялся первый выпуск проекта Nohang (https://github.com/hakavlad/nohang), в рамках которого подготовлен демон для GNU/Linux, обрабатывающий ситуации нехватки памяти и предотвращающий исчерпание свободной памяти (OOM, Out Of Memory). Демон написан на языке Python, потребляет около 10 MiB VmRSS и настраивается с помощью файла конфигурации (/etc/nohang/nohang.conf). По сравнению с аналогичным проектом earlyoom, nohang обладает некоторыми дополнительными возможностями.  Код открыт (https://github.com/hakavlad/nohang) под лицензией MIT.


Основные особенности:



-  Настраиваемая интенсивность мониторинга: если на сервере не предполагаются резкие перепады потребления памяти, то можно снизить нагрузку на процессор, снизив интенсивность мониторинга;

-  При нехватке памяти nohang сначала отправляет SIGTERM процессу с наибольшим oom_score. При дальнейшем падении уровня доступной памяти и отсутствии реакции на SIGTERM процесс с наибольшим oom_score получает SIGKILL. Уровни доступной памяти, при достижении которых должны происходить корректирующие действия, могут задаваться в процентах и в MiB;

-  Возможность отправки GUI уведомлений о результатах завершения процессов (реализовано с помощью notify-send);

-  Возможность отправки GUI уведомлений о низком уровне доступной памяти. В уведомлениях отображается уровень доступной памяти, а также Pid и имя процесса с наибольшим коэффициентом "badness". Предоставляется возможность настойки  уровня памяти, при котором отправляются уведомления, и минимальной периодичности отправки уведомлений (по умолчанию уведомления отключены). Рекомендуемые по умолчанию уровни памяти для отправки: одновременное снижение уровней SwapFree и MemAvailable до 20%;


-  Поддержка zram - mem_used_total в качестве триггера (может быть актуально для систем с большим размером хранилища (disksize) и низкой степенью сжатия сохраняемых в zram данных);

-  Предохранение от убийства невинных процессов: задержки после отправки сигналов (по умолчанию 0.5 секунд для SIGTERM и 3 секунды для SIGKILL) предотвращают возможное массовое убийство процессов, так как память при завершении процессов может освобождаться не сразу. Имеется возможность игнорировать процессы, имеющие коэффициент "badness" ниже заданного;

-  Возможность модификации "badness" процессов перед выбором жертвы через сопоставление имён процессов с заданным в конфигурации регулярным выражением;

-  Поддержка настройки запуска произвольной команды (например, sendmail или systemctl restart) вместо отправки сигнала SIGTERM жертве, если имя процесса-жертвы совпадает с заданным в конфигурации именем.

URL: https://github.com/hakavlad/nohang
Новость: https://www.opennet.ru/opennews/art.shtml?num=49653

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +21 +/
Сообщение от Аноним (1), 23-Ноя-18, 20:29 
Почему питон то? Если так хочется удобства (т.е. не C), то плюсцов бы хватило.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +5 +/
Сообщение от Your Mama (?), 23-Ноя-18, 20:35 
Тут и C был бы Ок, ИМХО. Может перепишем на православном?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

16. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +22 +/
Сообщение от Аноним (16), 23-Ноя-18, 22:22 
На 1С что ли?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

35. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +12 +/
Сообщение от Аноним (35), 23-Ноя-18, 23:14 
Вы зря смеетесь.
Тут ко мне на днях подошли наши 1с макаки, и потребовали, что бы я на продакшн серверах поставил обработчика языка "OSCRIPT".
Глянул я это чудо россиянской мысли, посмотрел, увидел, что они даже файлы помощи ("╫ЄхэшхXML.htm" и "─рээ√хPOST╟ряЁюёр.htm" ), записали в некорректной кодировке, и как из интернета оно само тянет невесть какие скрипты из "репозитария" и запускает их, и мне стало плохо.
Выделил им для забавы отдельную машинку, так эти дегенераты умудрились превратить ее в вирусный рассадник.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

89. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Гентушник (ok), 24-Ноя-18, 18:51 
Вы про onescript?
Разработчики вендузятники, я пытался эту штуку на линуксе запустить, но оно работало довольно криво, ибо много виндово-специфичного захардкожено. Да и вообще оно на дотнете написано.

А насчёт скриптов из репозиториев... Сейчас у многих языков так заведено - собственный пакетный менеджер (npm, pip и т.д.). Пользоваться никто не заставляет, можете ставить все зависимости руками или пакетным менеджером вашего дистрибутива, если там есть такие пакеты (а их там скорее всего нет).

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

109. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от пох (?), 25-Ноя-18, 14:21 
> Сейчас у многих языков так заведено

да помним, помним мы про npm leftpad!

> Пользоваться никто не заставляет

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

> (а их там скорее всего нет)

потому и нет, что нужны нечеловеческие усилия.

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

Ответить | Правка | ^ к родителю #89 | Наверх | Cообщить модератору

158. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 30-Ноя-18, 08:20 
> да помним, помним мы про npm leftpad!

Eval в битмессаге тоже ничего так получился. Целевая аудитория кирпичи откладывали долго. А я 1 раз посмотрел на код этой штуки и выводы сделал о том какой безопасТности от такого ПО можно ждать...

Ответить | Правка | ^ к родителю #109 | Наверх | Cообщить модератору

4. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Илья (??), 23-Ноя-18, 20:38 
Да какая разница? Это же простейшая тула. Питон почти везде установлен
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

12. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +3 +/
Сообщение от Анонимemail (12), 23-Ноя-18, 21:29 
Если простейшая то и писать лучше на простом и не требовательном.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

24. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +8 +/
Сообщение от d (??), 23-Ноя-18, 22:36 
На нём и написали.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

100. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (100), 25-Ноя-18, 04:17 
Не об интеллекте программиста речь была, а о ресурсах системы.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

58. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –3 +/
Сообщение от Аноним (58), 24-Ноя-18, 06:14 
> почти

Ключевое слово. Например у меня его нету.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

98. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –3 +/
Сообщение от Аноним (98), 24-Ноя-18, 23:39 
Специально взглянул исходник. #!/usr/bin/env python3

Его вообще почти нигде нет по-умолчанию.

Зачем такие программы писать на питоне?.... Почему нельзя сборку на C сделать?....

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +11 +/
Сообщение от Stax (ok), 23-Ноя-18, 20:38 
Если посмотреть на код, становится понятно, почему. В питоне батарейки в комплекте, как известно. А в плюсах без сторонних библиотек делать нечего - даже регэкспов нет (я знаю, что в распоследнем стандарте теоретически есть, но компиляторов и libstdc++ с поддержкой этих стандартов в продакшене вы не встретите). А код чуть менее чем полностью состоит из парзинга всякого разного в /proc, /sys и иже с ними. Такие вещи не только проще, но и безопаснее писать на безопасном языке, где нет целочисленных переполнений, строковых переполнений, выходов за границы массивов, небезопасных операций с указателями и прочего, особенно с учетом того, что программа работает под рутом и не должна добавлять уязвимостей.

Это можно написать на плюсах, но оно будет хотеть кучу библиотек (напр. монстра boost ради реэкспов) и безопасно это написать тоже будет намного сложнее.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

7. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от ноня (?), 23-Ноя-18, 20:54 
Это все, конечно, хорошо, я целиком за питон.
Но, приличия ради, надо упомянуть что программы на питоне не утруждаются проверкой входных данных. Можно такое подсунуть, что самому питону поплохеет. Под рутом. Хорошо если просто вывалится с исключением.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Gannetemail (ok), 23-Ноя-18, 21:13 
Раз уж на то пошло, я за Assembler!
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

67. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от View (?), 24-Ноя-18, 10:27 
Зачем им RegExp-ы? Может ещё нейросети туда завезти?
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

159. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 30-Ноя-18, 08:21 
> Раз уж на то пошло, я за Assembler!

А для каких архитектур ты его умеешь? На ARM или MIPS смогешь портануть?!

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

167. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Gannetemail (ok), 01-Дек-18, 04:40 
Я не сказал, что я его умею. Но это ведь не мешает мне быть "За", правда?
Ответить | Правка | ^ к родителю #159 | Наверх | Cообщить модератору

64. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от z (??), 24-Ноя-18, 09:11 
иногда мои программы на языке *вставьте любой язык* тоже не утруждаются проверкой входных данных
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (10), 23-Ноя-18, 21:18 
Я бы на вашем месте людей не дезинформировал по поводу поддержки последних стандартов. Да, C++17/20 ещё может и не везде и не в полной мере, но C++11 (частью которого <regex> и является) вполне себе поддерживается уже пару лет так точно в libstdc++, libc++ и что-там-у-ms. О качестве реализации говорить не буду, это вопрос отдельный.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

13. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +6 +/
Сообщение от Stax (ok), 23-Ноя-18, 21:29 
Пару лет - поддерживается. Проблема в том, что вы на сервере не встретите штатных компиляторов, которые были бы свежее пары лет. Возьмите свежайший релиз RHEL 7.6 (2018 год) - gcc и libstdc++ 4.8.5 - самые тривиальные регэкспы там или не скомпилируются, или будут непрерывно падать после компиляции. Возьмите еще поддерживаемый RHEL 6.10 (тоже 2018 год) - gcc 4.4, там вообще на эту тему ничего нет.

И то, что в распоследней убунте или федоре таки будет gcc / libstdc++, которые это умеют, никак не спасает - софт-то нужен на сервере.

Так что в жизни весь реальный код скорее всего будет использовать pcre (если на C), его же либо boost либо что-нибудь еще, если C++.

А в питоне модуль re был еще в версии 1.5 (1999 год), которая была где-то в районе 6 редхата. Который просто 6/6.1/6.2, не rhel 6.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

22. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от Michael Shigorinemail (ok), 23-Ноя-18, 22:33 
Ну pcre, положим, тоже уж немолодое.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

27. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Stax (ok), 23-Ноя-18, 22:41 
Да, я всего лишь имел ввиду, что это отдельная внешняя зависимость, а в питоне "все в комплекте" (и, к слову сказать, от pcre он не зависит).
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

42. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (1), 24-Ноя-18, 00:44 
Сейчас бы говорить о комплекте в ОС с репозитариями.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

33. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (33), 23-Ноя-18, 22:58 
Да что за фигню вы несёте, регекспы давно превосходно работают.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

122. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Ложечка (?), 25-Ноя-18, 18:47 
>Да что за фигню вы несёте, регекспы давно превосходно работают.

Всё он правильно говорит. В libstdc++ 4.8.5 в текущем RHEL7, например заглушки стоят, которые кидают на всё regex_error. Тоже дико угорал с редхатовцев - конформный хедер <regex> есть, но ничего не работает, просто прелесть.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

128. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (33), 25-Ноя-18, 22:51 
Вывод какой? Правильно, не юзать старьё.
Ответить | Правка | ^ к родителю #122 | Наверх | Cообщить модератору

37. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +2 +/
Сообщение от all_glory_to_the_hypnotoad (ok), 23-Ноя-18, 23:42 
Несёшь полнейшую чушь. Если взять мировых айти гигантов вроде G, FB и их братьев поменьше, которые в совокупности формируют подавляющую долю серверного ПО, то увидишь повальное использование самых свежих компиляторов вроде clang7, gcc6 и с++17. Гогно мамонта, без нормальных санитайзеров и человеческих отчётах об ошибках, в 2018 нафиг никому не сдалось. Но стандартыне re скорее всего никогда не станут популярными. Пользователи плюсов всё таки люди требовательные и им какие попало батарейки не подойдут, особенно если речь о серверном ПО.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

44. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Алексей Михайловичemail (?), 24-Ноя-18, 01:45 
Лицокнига очень жалует D, кстати говоря. И memory safe, и компилится в нативный код, и много чего вкусного из коробки имеет.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

45. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 24-Ноя-18, 01:51 
В FB собирают маргиналов со всего мира в надежде на их талантливость, даже местами упарываются функциональщиной. Да в любой крупной компании найдётся букет используемых ЯП. Но основным ЯП серверной разработки кластерного ПО пока осаётся С/C++.
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

168. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Алексей Михайловичemail (?), 11-Дек-18, 10:17 
> В FB собирают маргиналов со всего мира в надежде на их талантливость,
> даже местами упарываются функциональщиной. Да в любой крупной компании найдётся букет
> используемых ЯП. Но основным ЯП серверной разработки кластерного ПО пока осаётся
> С/C++.

Netflix и eBay тоже, наверное, маргиналов по всему миру днём с огнём ищут.

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

54. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +2 +/
Сообщение от Владимир (??), 24-Ноя-18, 04:17 
Подождите, у меня у одного возник вопрос а наxера на продакшен сервере компилятор? Ради рантайма что ли?
Типа задеплоить с нужной либой рантайма компилятора это фуфуфу и моветон?
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

65. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Акакжев (?), 24-Ноя-18, 09:46 
> Подождите, у меня у одного возник вопрос а наxера на продакшен сервере компилятор? Ради рантайма что ли?

Это был такой... ораторский приём.

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

86. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Stax (ok), 24-Ноя-18, 17:03 
> Подождите, у меня у одного возник вопрос а наxера на продакшен сервере
> компилятор? Ради рантайма что ли?
> Типа задеплоить с нужной либой рантайма компилятора это фуфуфу и моветон?

На продакшен сервере компилятора может не быть. Но почему код надо собирать на таком же дистрибутиве или как минимум такой же версии glibc и libstdc++ вам, надеюсь, понятно? (нет, это тоже не является абсолютным требованием, но если вы его не выполняете, то это создает пачку проблем, которые тем или иным способом нужно решать).

Так вот, если вы будете собирать код для сервера на базе RHEL7, например, то даже на другой машине стандартным gcc или clang - regexp все равно не заработает. Чтобы заработало, надо, к примеру, собирать свежим gcc с более свежим libstdc++ и тащить его рядом с приложением. Это, опять же, возможно; но *в жизни* такое себе может позволить очень небольшой процент софта. В стандартной репе Red Hat или даже каком-нибудь EPEL такого софта не будет. И поэтому по факту люди просто возмут boost.regex, например.

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

20. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от asdasd (?), 23-Ноя-18, 22:31 
C++11 с regexp не распоследний и реализуется это не рантаймом, а заголовками с исходниками.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

25. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от Stax (ok), 23-Ноя-18, 22:39 
Возможно, но заголовки с исходниками (те libstdc++-devel) настолько же старые, насколько и gcc.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

30. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от asdasd (?), 23-Ноя-18, 22:52 
Я все равно вас не понял. G++, Clang++, MSVC поддерживают. Что еще нужно?
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

87. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Stax (ok), 24-Ноя-18, 17:05 
> Я все равно вас не понял. G++, Clang++, MSVC поддерживают. Что еще
> нужно?

Возьмите виртуалку с RHEL6/7 и скопимпилируете ваш код с помощью штатных g++ или clang и сразу все поймете. Если лень ставить, можно в AWS взять free tier с RHEL.

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

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

43. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +2 +/
Сообщение от Аноним (43), 24-Ноя-18, 00:53 
> компиляторов и libstdc++ с поддержкой этих стандартов в продакшене вы не встретите

Какой-то у вас замшелый продакшн. Поддержка regex появилась в gcc 4.9, который вышел в 2015.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

72. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (72), 24-Ноя-18, 13:11 
В 2014-м
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

47. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (47), 24-Ноя-18, 02:20 
И все же, подобные штуки стоило писать на системном языке, а не пайтоне.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

56. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –3 +/
Сообщение от Orduemail (ok), 24-Ноя-18, 05:51 
В linux'е пайтон системный язык. Для венды он инороден, в линуксах же последние лет 15-20 он системный. Используется не реже чем bash.

А вообще, чем языком молоть, если не согласен, возьми и напиши.

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

60. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (58), 24-Ноя-18, 06:19 
> в линуксах же последние лет 15-20

Как будешь объяснять что у меня его нету? При этом полноценный десктоп на C, C++, Qt.

Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

61. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Orduemail (ok), 24-Ноя-18, 07:01 
И что это за дистрибутив, если не секрет?
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

63. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от Илона (??), 24-Ноя-18, 08:48 
Арч 'я у мамы конструктор'.

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

И сабж ему не нужен принципиально.

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

157. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 30-Ноя-18, 08:17 
> Питона у него нет для того чтобы писать в интернете что у
> него нет питона.

У меня на половине дебианов тоже питона нет. Потому что тормозное глюкавое гуано, разваливающееся при каждом втором серьезном апдейте системы и жрущее 25 мегов RSS на отрисовку несчастного значка принтера - лично меня не прет. Конечно есть куда расти, можно значок на электроне переписать, глядишь и до 200 метров догонится, конечно.

Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

73. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (72), 24-Ноя-18, 13:13 
>Как будешь объяснять что у меня его нету?

Могу только предположить, что у тебя не Gentoo.

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

156. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 30-Ноя-18, 08:14 
> В linux'е пайтон системный язык.

Какой он на... системный? Это язык скриптомакак, типа тех которые на васике в 80 програмили. Для работы системы это гуидогуано даром не упало.

Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

55. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от iPony (?), 24-Ноя-18, 04:27 
> Если посмотреть на код
> нужных компиляторов в продакшене вы не встретите

Если посмотреть на код, тотпонятно, что это наколеннная утилита написаная абы как за кружкой пива. Что ей делать в подакшене?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

74. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от Аноним (72), 24-Ноя-18, 13:14 
Кто бы про продакшон говорил, но не маководы.
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

59. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (58), 24-Ноя-18, 06:17 
> даже регэкспов нет

Вообще-то есть. И с помощью stl можно сделать всё, было бы желание. Для такого простого проекта stl хватило бы с головой.

> А код чуть менее чем полностью состоит из парзинга всякого разного в /proc, /sys и иже с ними

Пфф. Я простейший их парсер в 10 строк на чистом C++ писал без всяких регексп.

> небезопасных операций с указателями и прочего

В C++ это и не нужно будет. А насчёт того что питон (то есть сам интерпретатор, который ещё и компилировать в нативный код может, duh) не имеет уязвимостей насмешил, конечно. Глянь как-нибудь в их багтрекер.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

62. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от barmaglot (??), 24-Ноя-18, 08:28 
>> даже регэкспов нет (я знаю, что в распоследнем стандарте теоретически есть, но компиляторов и libstdc++ с поддержкой этих стандартов в продакшене вы не встретите

Какая махровая чушь. GCC поддерживает C++11 уже около 7-ми лет точно (c 4.3.x если не ошибаюсь). Что у вас за продакшн такой ?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

88. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Stax (ok), 24-Ноя-18, 17:10 
>>> даже регэкспов нет (я знаю, что в распоследнем стандарте теоретически есть, но компиляторов и libstdc++ с поддержкой этих стандартов в продакшене вы не встретите
> Какая махровая чушь. GCC поддерживает C++11 уже около 7-ми лет точно (c
> 4.3.x если не ошибаюсь). Что у вас за продакшн такой ?

RHEL любой версии. Впрочем, можете взять SLES 12, там ситуация аналогичная (SLES 15 вышел всего несколько месяцев назад, по факту мало кто еще обновился).

GCC C++11-то поддерживает, но не regexp. Поддержка regexp появилась в 4.9, но по факту много чего не работало до 5.x или 6.x.

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

106. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Kir (??), 25-Ноя-18, 12:32 
Монстр boost ради regex  это одна маленькая библиотека, которая линкуется статически
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

120. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Stax (ok), 25-Ноя-18, 17:24 
> Монстр boost ради regex  это одна маленькая библиотека, которая линкуется статически

Ну, некоторым не нравится, что это доступно только в составе 150+ МБ комплекта библиотек. Я, в целом, не против; главное с C++11 regexp осторожнее, тк реально очень много где не заработает.

Ответить | Правка | ^ к родителю #106 | Наверх | Cообщить модератору

26. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +3 +/
Сообщение от th3m3 (ok), 23-Ноя-18, 22:39 
Вот и я думаю, надо было писать на Rust.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

75. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (72), 24-Ноя-18, 13:17 
О нет, уж лучше Python, хоть маргинальщина. Этого Rust нет в системе у ещё гораздо большего числа пользователей, чем Python.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

79. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от th3m3 (ok), 24-Ноя-18, 14:18 
> О нет, уж лучше Python, хоть маргинальщина. Этого Rust нет в системе
> у ещё гораздо большего числа пользователей, чем Python.

А он в системе и ненужен для запуска, это же не Python  :) Rust же компилируемый, будет просто бинарик.

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

83. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от mikhailnov (ok), 24-Ноя-18, 16:01 
На e2k mike@ уже завез Rust? Нет и не будет в ближайшее время.
Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

66. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Анонидзе (?), 24-Ноя-18, 10:15 
А чем он плох? Простой и очень удобный язык. Или ты хочешь, чтобы у демона, предотвращающего нехватку ОЗУ, постоянно текло это самое ОЗУ?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

155. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 30-Ноя-18, 08:11 
> Почему питон то? Если так хочется удобства (т.е. не C), то плюсцов бы хватило.

В такой штуке объективно достаточно гольного си с libc в зависимостях. Ну это если не халтурить. Заодно так минимум мест где она вообще может обломаться. Что для программы занимающейся сабжем наверное аргумент. Потому что если многомеговый интерпретер бидона повиснет где-то в недрах по причине того что у него не удался какой-то malloc, то что это не скрипт лопухнулся а рантайм - это будет довольно слабое утешение.

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (2), 23-Ноя-18, 20:33 
Эта тулза мне нужна.

29 выпуск федоры течёт не отображает какой процесс не освобождает память.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –2 +/
Сообщение от Michael Shigorinemail (ok), 23-Ноя-18, 22:34 
Возьмите lavaps :)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +7 +/
Сообщение от Аноним84701 (ok), 23-Ноя-18, 21:09 
earlyloom, nohang, oomd (https://www.opennet.ru/opennews/art.shtml?num=48994)
Астрологи объявили полугодие юзерспейсных заменителей ООМ?

Интересно, мне одному такая формулировка режет глаз?
> Предохранение от убийства невинных процессов … возможное массовое убийство процессов

Вместо:
> "Предохранения от принудительного завершения непричастных процессов … возможное массовое завершение процессов"
>

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +3 +/
Сообщение от Gannetemail (ok), 23-Ноя-18, 21:45 
Предлагаю следующую:
Предотвращение геноцида процессов не замеченных в причастности к жадности памяти и излишней геперактивности в дисковом пространстве.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

36. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (36), 23-Ноя-18, 23:37 
People for ethical treatment of digital entities. Stop killing them!
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

48. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (47), 24-Ноя-18, 02:22 
Все это похоже на жуткие костыли.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

96. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Himik (ok), 24-Ноя-18, 23:13 
По-моему в FSF киллеров объявили вне закона, и вот опять...
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

154. "Выпуск Notabug 0.0.1, предотвращающего OOM в пространстве пл..."  +/
Сообщение от Andrey Mitrofanov (?), 29-Ноя-18, 09:49 
Прочитал заголовок---^^, подумал "новая игрушка поттера".  Ан нет.

> Астрологи объявили полугодие юзерспейсных заменителей ООМ?

//Ага. Про это уже пошутили, надо держаться. Держаться.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (11), 23-Ноя-18, 21:26 
а для докера эта тулза имеет смысл? вот с oom падает контейнер, какой профит предоставляет данная утилита, не вижу рабочей ситуации.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

49. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от DerRoteBaron (ok), 24-Ноя-18, 02:30 
такой, что контейнер будет перезапущен не тогда, когда памяти уже нет, почти все страницы с кодом выгружены на диск, а отзывчивость системы потеряна, а когда сильно плохо еще не стало, и деградация отзывчивости не будет существенной
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

15. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +4 +/
Сообщение от Аноним (15), 23-Ноя-18, 22:02 
Почему на python, а не на nodejs?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от Аноним (17), 23-Ноя-18, 22:25 
в node.js был npm leftpad, а пихон это "искуственный дата майнинк дип лёрнинк бик дата интелект" с нескучным синтаксисом
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

18. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +2 +/
Сообщение от Аноним (18), 23-Ноя-18, 22:26 
Это сарказм?
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

28. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +7 +/
Сообщение от th3m3 (ok), 23-Ноя-18, 22:41 
Радуйся, что не на Electron.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

29. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +3 +/
Сообщение от Аноним (33), 23-Ноя-18, 22:45 
Зачем мелочиться, надо сразу на electron.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

112. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Xasd (ok), 25-Ноя-18, 14:54 
заменить python на electron ещё ни кто не успел предложить?
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

21. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (33), 23-Ноя-18, 22:31 
Походу линю нужен особый сигнал OOM, сообщающий процессу, что если он сейчас немедленно не освободит память, то его прибьют. Всё лишь бы баг 12309 не фиксить.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

76. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (72), 24-Ноя-18, 13:20 
За...ли вы уже со своим 12309, не смешно уже, придумайте шутку посвежее.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

82. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +2 +/
Сообщение от Кирилл (??), 24-Ноя-18, 15:07 
Да, не смешно, потому что сколь бы не говорили о том, что 12309 давно исправлен (раза три уже говорили, что "ну вот теперь точно пофиксили"), он до сих поп проявляется и имеет место быть.
Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

139. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от none_first (ok), 26-Ноя-18, 13:59 
> Да, не смешно, потому что сколь бы не говорили о том, что
> 12309 давно исправлен (раза три уже говорили, что "ну вот теперь
> точно пофиксили"), он до сих поп проявляется и имеет место быть.

цитата с лурка: http://lurkmore.to/12309#.D0.9D.D0.B0_.D1.81.D0.B0.D0.BC.D0....
перевожу - виндовз крякнет чавкой с высокой вероятностью и работа виндовзусера закончится "как всегда" - перезапуском мсявого творения
и да - забивать память вской уйней и быдлопрограммами - это в крови виндовзусеров ;)

Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору

160. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (160), 30-Ноя-18, 08:30 
> Да, не смешно, потому что сколь бы не говорили о том, что
> 12309 давно исправлен (раза три уже говорили, что "ну вот теперь
> точно пофиксили"), он до сих поп проявляется и имеет место быть.

До некоторых так за столько лет никак не дойдет что разные тормоза разныз конфигураций, ВНЕЗАПНО могут быть РАЗНЫМИ багами, по РАЗНЫМ причинам. Поэтому они как полные дауны (хотя почему "как") требуют починить баг. Который давно починен и закрыт. А написать новый баг, с описанием своей конфиги и проблем - умишка, определенно, не хватает.

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

Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору

166. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от Аноним (-), 30-Ноя-18, 13:32 
> До некоторых так за столько лет никак не дойдет что разные тормоза
> разныз конфигураций, ВНЕЗАПНО могут быть РАЗНЫМИ багами, по РАЗНЫМ причинам.

До некоторых за столько лет никак не дойдет, что 12309 давно стало собирательным обозначением.

Ответить | Правка | ^ к родителю #160 | Наверх | Cообщить модератору

77. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (-), 24-Ноя-18, 13:35 
Тогда почему вы пишите комментарии в интернете, а не фиксите баг
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

131. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (131), 26-Ноя-18, 01:58 
И процесс, получив такой сигнал, начинает лихорадочно шариться по своему адресному пространству выискивая что бы такого освободить, тем самым только увеличивая интенсивность пейджинга.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

136. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от SysA (?), 26-Ноя-18, 12:19 
Bug 12309 - Status:     CLOSED CODE_FIX ;)
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

32. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Онаним (?), 23-Ноя-18, 22:58 
Зачем оно? kernel oom handler'а мало?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

46. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (46), 24-Ноя-18, 02:12 
Вроде неоднократно везде писали, что он слишком слоупочный и ненастраиваемый.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

68. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Онаним (?), 24-Ноя-18, 10:56 
Что значит ненастраиваемый? Есть oom_adj, есть memory cgroups.
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

161. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (160), 30-Ноя-18, 08:33 
> Вроде неоднократно везде писали, что он слишком слоупочный

Если своп убрать нафиг или перенести в zram (эмулировать оперативку винчом слоупочно хоть там как) - более-менее нормальный становится. Хрустеть будет разве что на paging бинарников на диске, но это относительно немного. А на SSD так никто и не заметит, там быстро. Так что система тупанет несколько секунд да грохнет offender'а. Чаще всего по делу при том. А вес таки настраивается. И если кто ценный, можно настроить ему вес пониже и его постараются не убивать, кроме совсем уж ж@пных ситуаций.

Ну и написать такой тул на питоне - это просто глум над здравым смыслом.

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

38. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от M i Memail (?), 23-Ноя-18, 23:46 
Глянул.
Какой-то трэш и каша.
Комментарии и сообщения в перемешку на английском и на русском.
Весь код свален в одну кучу:
https://github.com/hakavlad/nohang/blob/master/nohang
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от M i Memail (?), 23-Ноя-18, 23:57 
И да, ни одного теста не увидел.
Пожалуй, я бы побоялся такое запускать, даже если бы оно мне было нужно.

Но справедливости ради хочу похвалить за старание.
Надеюсь, следующие проекты будут отличаться в лучшую сторону.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

40. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –3 +/
Сообщение от Нодежээсовцы и питонисты (?), 24-Ноя-18, 00:02 
Ну если ты не понимаешь что-то это не значит что написано плохо. Писать юникс-демоны - задача сложная. Код сложный потому что тема сложная.

Linux, nohang, X.Org Server... у всех этих наших проектов высок порог вхождения, мы пишем системные вещи.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

41. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от M i Memail (?), 24-Ноя-18, 00:05 
Код там не сложный, но его качество оставляет желать лучшего.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

57. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от Orduemail (ok), 24-Ноя-18, 05:55 
> Весь код свален в одну кучу:

Там всего 1.5k строк, включая комменты и пустые строки, кои по моему в коде используются излишне часто. Если бы там было 5-10k можно было бы поныть, что слишком много в одном файле, а так...

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

84. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (84), 24-Ноя-18, 16:25 
Это уже очень много. Есть принцип единой ответственности, который явно нарушается.
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

92. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –1 +/
Сообщение от Orduemail (ok), 24-Ноя-18, 19:48 
> Это уже очень много. Есть принцип единой ответственности, который явно нарушается.

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

Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

103. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от zoonman (ok), 25-Ноя-18, 08:13 
># found experimentally
>zram_disksize_factor = 0.0042

Магические константы, забытые комменатрии, отсутствие какой-либо структуры. Код требует шлифовки.
Вообще его бы переписать на Go, работал бы быстрее и память меньше кушал.
Считаю текущий вариант прототипом и в продакшене такое бы использовать не стал.
Советую Алексею привести код в порядок, добавить тесты и бенчмарки.

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

111. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Orduemail (ok), 25-Ноя-18, 14:40 
>># found experimentally
>>zram_disksize_factor = 0.0042
> Магические константы, забытые комменатрии, отсутствие какой-либо структуры. Код требует
> шлифовки.

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

> Вообще его бы переписать на Go, работал бы быстрее и память меньше
> кушал.

Перепиши, тебе никто не мешает.

> Считаю текущий вариант прототипом и в продакшене такое бы использовать не стал.

Чтобы заиметь такое весомое мнение вовсе не обязательно было читать код, достаточно было заголовка новости, в нём чётко указано, что версия софтины 0.1.

> Советую Алексею привести код в порядок, добавить тесты и бенчмарки.

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

Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

113. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Xasd (ok), 25-Ноя-18, 15:00 
> в нём чётко указано, что версия софтины 0.1.

это много или мало?

если там было бы написано что версия софтины 345.0 (а не 0.1) -- это говорило бы о чём-то другом?

Ответить | Правка | ^ к родителю #111 | Наверх | Cообщить модератору

114. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Orduemail (ok), 25-Ноя-18, 15:10 
>> в нём чётко указано, что версия софтины 0.1.
> это много или мало?
> если там было бы написано что версия софтины 345.0 (а не 0.1)
> -- это говорило бы о чём-то другом?

Да.

Ответить | Правка | ^ к родителю #113 | Наверх | Cообщить модератору

129. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от zoonman (ok), 25-Ноя-18, 23:12 
Это такой способ сделать тег. Поставил первый попавшийся тег, v0.1 показался нормальным.
Человек знакомый с версионированием сделал бы 0.0.1-alpha.
Т.к. это самая настоящая альфа.
Ответить | Правка | ^ к родителю #113 | Наверх | Cообщить модератору

133. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Orduemail (ok), 26-Ноя-18, 02:59 
> Это такой способ сделать тег. Поставил первый попавшийся тег, v0.1 показался нормальным.
> Человек знакомый с версионированием сделал бы 0.0.1-alpha.
> Т.к. это самая настоящая альфа.

Бла-бла-бла. Ещё один начитавшийся учебников.

Как много тебе известно примеров программ, которые бы стояли в продакшне с версией меньше чем 0.5? Вот совершенно не важно, какой схемы версионирования придерживаются разработчики, лишь бы версия была бы меньше, чем 0.5, и стояла бы в продакшне.

Я не понимаю о чём спор? О том, что номер версии не несёт никакой информации? Если так, то вы ничего не понимаете в информации. Открой Thinking Bayes (в гугле находится легко), и найдите там задачку про номер поезда. Суть её в следующем: мы, проходя мимо ж/д путей, увидели локомотив принадлежащий компании X, на этом локомотиве был порядковый номер, допустим, 37. Вопрос: сколько всего локомотивов у компании X? Если тебе кажется, что самый точный ответ на этот вопрос "не меньше 37", то я повторю свой совет: открой Thinking Bayes и почитай, причём в этом случае лучше сначала и до конца. А прочитав, осознай, что голова человека всегда thinking bayes, просто в большинстве случаев не используя формул, распределений вероятностей и python'а, а на голом автоматизме, нейроны в голове сплетены таким образом. Школьное образование и в первую очередь школьная математика внушают нам что всё это туфта, и логика -- единственный вид мышления, в реальности же логика вообще не мышление, а лишь "unit-testing" для мышления, с ограниченной сферой применимости. В реальности мозги работают не так, как представляли себе древние греки.

Ответить | Правка | ^ к родителю #129 | Наверх | Cообщить модератору

140. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от none_first (ok), 26-Ноя-18, 14:36 
https://greenteapress.com/wp/think-bayes/ если про эту книгу - то название несколько другое ;)
Ответить | Правка | ^ к родителю #133 | Наверх | Cообщить модератору

148. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от zoonman (ok), 26-Ноя-18, 19:45 
> Бла-бла-бла. Ещё один начитавшийся учебников.

Пора кому-то повзрослеть. Учебники написаны на основе реального опыта других людей.
Они написаны людьми, которые давно прошли стадию "совершенно не важно, какой схемы версионирования придерживаются разработчики, лишь бы версия была бы меньше, чем 0.5, и стояла бы в продакшне", наломали дров и набили шишек, поняли, что они делали не так и постарались закрепить это в форме учебников.
Да, современное поколение любит х**к-х**к и в продакшен и пофиг что там. Большинство из таких не задерживается на работе больше года и прыгает на другую "галеру".
А потом за ними приходят люди, которые делают все по учебнику. Делают долго и занудно, после чего все "просто работает". Обычно после этих "школяров" разного рода OOMKillers не требуются. У них память не течет, поскольку все сделано по учебнику, и системы масштабируются автоматически, поскольку опять же все сделано по учебнику.
Вобщем, я не заинтересован в продолжении этой дискуссии. Вам нужен опыт. Получите его, начнете меня понимать.

Ответить | Правка | ^ к родителю #133 | Наверх | Cообщить модератору

150. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Orduemail (ok), 26-Ноя-18, 22:55 
>> Бла-бла-бла. Ещё один начитавшийся учебников.
> Пора кому-то повзрослеть.

Да, несомненно.

> Учебники написаны на основе реального опыта других людей.

Но учебник -- это не опыт. Даже если это хороший учебник, то чтение его не заменяет опыта. Учебник, да и вообще всякие образовательные курсы, в том числе и в/о из вуза -- это лишь база, фундамент на котором можно строить свой опыт. Сам по себе фундамент без опыта бесполезен. И таймлайн примерно такой: человек читает учебники в вузе, после этого он приходит работать. Года три он работает следуя принципам из учебников, и после этого он становится хорошим специалистом. А после этого, _некоторые_ могут пойти дальше, поняв что _любой_ абсолютно принцип, и не только в программировании, _любой_ абсолютно теоретический закон имеет границы применимости. Что любая теория имеет границы применимости, и что, по-хорошему, начинать изучать любую теорию следует с изучения границ применимости. И если человек, заявляющий, что он знает какой-то принцип, не может сходу привести примеров ситуации, когда этот принцип неприменим, то этот человек не знает этого принципа.

> Они написаны людьми, которые давно прошли стадию "совершенно не важно, какой схемы
> версионирования придерживаются разработчики, лишь бы версия была бы меньше, чем 0.5,
> и стояла бы в продакшне", наломали дров и набили шишек, поняли,
> что они делали не так и постарались закрепить это в форме
> учебников.

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

Ответить | Правка | ^ к родителю #148 | Наверх | Cообщить модератору

130. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от zoonman (ok), 25-Ноя-18, 23:16 
Торвальдс уже давно не тот: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... ;-)
Ответить | Правка | ^ к родителю #111 | Наверх | Cообщить модератору

134. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Orduemail (ok), 26-Ноя-18, 03:00 
> Торвальдс уже давно не тот: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
> ;-)

Вот к чему ты это сказал? Во-первых, не то чтоб давно, во-вторых, мне-то что? Если Торвальдс принимает Code of Conduct, меня это разве к чему-то обязывает? Или заветы Торвальдса перестали быть заветами Торвальдса?

Ответить | Правка | ^ к родителю #130 | Наверх | Cообщить модератору

137. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от нах (?), 26-Ноя-18, 12:31 
> Если Торвальдс принимает Code of Conduct, меня это разве к чему-то обязывает?

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

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

Ответить | Правка | ^ к родителю #134 | Наверх | Cообщить модератору

138. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Orduemail (ok), 26-Ноя-18, 13:37 
Ты о чём вообще, родный? Ты тред читал? Я сказал о том, что я следую завету Торвальдса: либо код на бочку, либо до свидания. При чём здесь потребляти, отправление патчей _торвальдсу_, маты в комментах и CoC? Твоя больная тема? Увидев её упоминание никак не можешь сдержаться и не высказаться? Против этого я могу предложить копинг стратегию: купи подушку, и каждый раз столкнувшись с упоминанием этой темы, кричи в подушку, пока не отпустит. Подушка заглушит звуки, и соседи тебя не убьют тогда за нарушение тишины и спокойствия.
Ответить | Правка | ^ к родителю #137 | Наверх | Cообщить модератору

142. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Michael Shigorinemail (ok), 26-Ноя-18, 17:30 
Коллеги, прям озадачили.
Ответить | Правка | ^ к родителю #138 | Наверх | Cообщить модератору

143. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от нах (?), 26-Ноя-18, 17:59 
> Ты о чём вообще, родный? Ты тред читал? Я сказал о том,
> что я следую завету Торвальдса: либо код на бочку,

ты топ-топ менеджер линукса или сравнимого по размеру проекта? (Санитары! Этого в палату к Наполеону и Цезарю) Нет? Тогда какой тебе код, кто его тебе понесет?

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

Иначе его просто выбросят в помойку не читая, а тебя зобанят.

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

Ответить | Правка | ^ к родителю #138 | Наверх | Cообщить модератору

149. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Orduemail (ok), 26-Ноя-18, 21:33 
>> Ты о чём вообще, родный? Ты тред читал? Я сказал о том,
>> что я следую завету Торвальдса: либо код на бочку,
> ты топ-топ менеджер линукса или сравнимого по размеру проекта?

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

> Тогда какой тебе код, кто его тебе понесет?

Не знаю кто, но советы точно не нужны.

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

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

Ответить | Правка | ^ к родителю #143 | Наверх | Cообщить модератору

145. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (145), 26-Ноя-18, 19:09 
>zram_disksize_factor = 0.0042

Описание есть в начале файла.

>забытые комменатрии

Где?

>отсутствие какой-либо структуры

Структура есть, код разделен на разделы, разделенные строками ############################, и разделы прокомментированы.

>Вообще его бы переписать на Go, работал бы быстрее и память меньше кушал.

Уже. Старт дан. https://github.com/hakavlad/nofreeze

>Считаю текущий вариант прототипом

как вам угодно. Тем не менее, прототип прекрасно работает.

Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

146. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от zoonman (ok), 26-Ноя-18, 19:24 
Вот целый кусок забытых комментариев
https://github.com/hakavlad/nohang/blob/master/nohang#L934

Я не хочу придираться к деталям. Просто бросилось в глаза.

У вас хорошая идея, продолжайте ее развивать.

Ответить | Правка | ^ к родителю #145 | Наверх | Cообщить модератору

147. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (145), 26-Ноя-18, 19:29 
Это прям свежий коммит, не от автора. Будет почищено вскоре. Ничего не забыто.
Ответить | Правка | ^ к родителю #146 | Наверх | Cообщить модератору

152. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (152), 28-Ноя-18, 17:56 
Говнокод ещё тот

# НА МЕСТЕ!!!
if 'swap_min_warnings' in config_dict:
    swap_min_warnings = config_dict['swap_min_warnings']

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

153. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (145), 29-Ноя-18, 05:14 
Что Вас смутило в этом участке кода?
Ответить | Правка | ^ к родителю #152 | Наверх | Cообщить модератору

163. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 30-Ноя-18, 08:40 
> Что Вас смутило в этом участке кода?

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

Ответить | Правка | ^ к родителю #153 | Наверх | Cообщить модератору

162. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 30-Ноя-18, 08:38 
> Комментарии и сообщения в перемешку на английском и на русском.

Это ты еще код bitmessage читать не пробовал. Сразу видно - крутой про огреб крутую идею и подумал как же ее реализовать, если прогать не умеешь? Ну увидел бэйсик или что там вместо него теперь и накодил как умел. Заодно и програмить поучился как раз.

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

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

50. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +2 +/
Сообщение от Аноним (50), 24-Ноя-18, 02:42 
Решение несуществующей проблемы.
Намного логичнее выставить лимиты памяти в cgroups тем процессам, которые ее могут схавать. Да, браузеру.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

119. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (145), 25-Ноя-18, 16:46 
>Решение несуществующей проблемы.

Проблема есть, look at https://www.reddit.com/r/linux/comments/56r4xj/why_are_low_m.../

>Намного логичнее выставить лимиты памяти в cgroups тем процессам, которые ее могут схавать. Да, браузеру.

Nohang ни к чему вас не обязывает. Делайте так, как считаете нужным.

Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

132. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (132), 26-Ноя-18, 02:45 
Это не проблема, а вопрос неопытного пользователя.
На который ему ответили. В том числе указав, что если есть предположения о том, что потребуется завершать в первую очередь, то можно предупредить проблему с помощью cgroups.

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

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

Ответить | Правка | ^ к родителю #119 | Наверх | Cообщить модератору

51. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от anonkin (?), 24-Ноя-18, 03:06 
*лицоладонь*

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

и будет эпично, если сам этот nohang подвесит систему))

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

70. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Нанобот (ok), 24-Ноя-18, 12:18 
> а если памяти не хватает, то конечно какие-то приложения будут прибиваться, этого не избежать

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

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

116. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 25-Ноя-18, 15:43 
>> а если памяти не хватает, то конечно какие-то приложения будут прибиваться, этого не избежать
> просто некоторые свято верят, что любую проблему можно решить, если прибивать процессы
> в правильном порядке

systemd что ли?

Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

52. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Sw00p aka Jerom (?), 24-Ноя-18, 03:59 
я вот только одного вкурить не могу - в чём разница между убитым процессом (из-за ООМ) и процессом который никогда не выполнится (то есть не использовать данное ПО, которое течет)?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

53. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +2 +/
Сообщение от Vitaliy Blatsemail (?), 24-Ноя-18, 04:13 
Вот уж типично линуксячий подход - создать технологию которая будет килять процессы для освобождения памяти, а потом создать тулзу которая будет мешать этой технологии которая киляет процессы для освобождения памяти.

Если процесс стал потреблять ОЗУ - он это сделал не зря, значит ему так нужно. Что будет если mysqld с криво настроенным innodb_buffer_pool_size получит SIGTERM? Он резко выгрузит все таблицы, кэши и тд ? Сомневаюсь. А значит получит SIGKILL и будет то же самое что и просто с OOM но при этом на серваке не будет стоять левое пихоновое поделие. А раз так, то зачем ставить это на сервер ?


Короче что только не придумают, лишь бы не сделать
fallocate -l 2G /anti_oom;mkswap /anti_oom;swapon /anti_oom

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

69. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Онаним (?), 24-Ноя-18, 10:59 
> Короче что только не придумают, лишь бы не сделать

fallocate -l 2G /anti_oom;mkswap /anti_oom;swapon /anti_oom

Когда упрётесь в производительность например SAN - поймёте, почему не надо так делать.

Впрочем, это не отменяет того, что ядрёного механизма OOM вкупе с cgroups для контроля за oom-ситуациями более, чем достаточно.

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

81. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +4 +/
Сообщение от Vitaliy Blatsemail (?), 24-Ноя-18, 14:24 
> Когда упрётесь в производительность например SAN

Переполнение памяти обычно бывает по двум причинам:

1. Владелец железки криворукий олень и установил несовместимое количество софта\железного ОЗУ на девайс. Ну например купил ВПСку шоб подешевше, с гигабайтом мозгов, и заставил ее обрабатывать веб на 1000 коннектов в секунду и на apache. Тогда его своп ДОЛЖЕН юзаться активно, и все это рано или поздно упрется в производительность. То же самое можно сделать на дорогом оборудовании, просто в других масштабах, суть не изменится.

2. Случайный всплеск. Ну вот поставили вы гигабайт ОЗУ на вашу ВПСку, все настроили тоненько тоненько, отлично работает, но раз в неделю ваш плагин на Вордпрессе делает бэкап, и тогда нужны дополнительные пару мегабайт ОЗУ на час.

В первом случае владелец железки сам себе злобный буратино, и его не спасут никакие Nohang'и даже свопы: ему надо либо умерять аппетит софта к железу, либо апгрейдить железо к аппетиту софта.
Во втором случае никакой просадки скорости не будет, пушо своп будет временной мерой для непродолжительной операции.

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

90. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Онаним (?), 24-Ноя-18, 19:27 
1) да
2) см. п.1
Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

91. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Онаним (?), 24-Ноя-18, 19:28 
За исключением свопа в п.1 - как только скрипт у хостера заметит аномальную дисковую активность от непрерывно юзаемого свопа, он сразу же нерегламентированный IOPS порежет.
Ответить | Правка | ^ к родителю #90 | Наверх | Cообщить модератору

94. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –2 +/
Сообщение от Аноним (33), 24-Ноя-18, 22:34 
Понимаете ли, на линуксе совершенно отвратительные механизмы управления памятью. И если будет своп, то если ты откроешь  firefox, а в нём девтулзы, то выльется это в то, что сначала выжрется вся оператива, а потом вместо оперативы система начнёт юзать своп и всё встанет колом. А всё из-за того, что часть памяти должна быть зарезервирована и не свопиться никогда. Память ядра и ядерных модулей никогда не должна свопится, иначе оно будет лагать, а с ним и всё остальное, причём запросы будут копиться, и придётся делать резет. Память дисплейного сервера никогда не должна свопиться, иначе будут проблемы с управлением. Память оконного менеджера никогда не должна свопиться по тем же причинам, а ещё надо писать нормальные оконные менеджеры, легковесные и с аппаратным курсором, а не то говно, что сейчас. Память юзерспейс программ может свопиться, но не агррессивно, память должна делиться на "горячую" и "холодную" и свопить можно только холодную.

Просто разрабы зажрались на проспонсированных корпорациями машинах. А надо бы им поработать на 1м гиге.

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

95. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –2 +/
Сообщение от Michael Shigorinemail (ok), 24-Ноя-18, 22:42 
Ну да, ну да.  LGBT-шники из MoFo жрут память тоннами, а виноват линукс.  И пишет нам об этом многолетний хакер ядёр и VM-ов, не иначе.
Ответить | Правка | ^ к родителю #94 | Наверх | Cообщить модератору

102. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (102), 25-Ноя-18, 06:48 
Firefox так себя ведет не важно под какой ОС. Из всех браузеров включая Edge. Именно Firefox сейчас жрет больше всего ОЗУ и нагружает CPU ради пресвятого JS.

Самый банальный пример: https://www.twitch.tv/videos/340281255?t=36m20s

Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

117. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (33), 25-Ноя-18, 15:46 
Как уже заметили,жрёт на всех ОС, а колом всё встаёт шт этого только на Лине.
Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

151. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от трурль (?), 27-Ноя-18, 20:43 
> Как уже соврали,жрёт на всех ОС, а колом всё встаёт шт этого только на Лине.

fixed

Ответить | Правка | ^ к родителю #117 | Наверх | Cообщить модератору

101. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (102), 25-Ноя-18, 06:41 
Чем-то же нужно мотивировать продажу 32+гб ноутбуков.
Поделия JetBrains на виртуалке с 4гб озу уже моментально пишут в swap после открытия Hello World.
Ответить | Правка | ^ к родителю #94 | Наверх | Cообщить модератору

118. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (33), 25-Ноя-18, 15:48 
IDE под JVM лучше вообще не использовать.
Ответить | Правка | ^ к родителю #101 | Наверх | Cообщить модератору

164. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 30-Ноя-18, 08:45 
> Если процесс стал потреблять ОЗУ - он это сделал не зря, значит
> ему так нужно. Что будет если mysqld с криво настроенным innodb_buffer_pool_size
> получит SIGTERM? Он резко выгрузит все таблицы, кэши и тд ?

А что будет, если ядру потребуется память и оно не сможет ее себе выкроить, сэр не подумал? Конечно офигенно что пошедший вразнос мускуль выживет, но что он будет делать если умерло уже ядро, которое себе под свои нужды память выкраивать не смогло? :)

Если вдруг интересно как это выглядит: берешь роутер мыльницу, у половины из них conntrack, который структуры ядра настроен неверно и может стрескать больше памяти чем реально запаяно. Пускаешь торенты в много потоков. Смотришь что случается с ядром и всем остальным, когда с памятью душно, но забрать нельзя, потому что ее жрут структуры ядра (conntrack, не обеспеченный фактической памятью в сконфигуреном объеме). Хочешь такое же на десктопе? :) Точно? :)

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

78. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от RomanCh (ok), 24-Ноя-18, 13:53 
Какой дурдом. Пишем watchdog для контроля потребления ресурса на языке который сам любит пожрать этого ресурса. Напоминает государственную систему управления - нужно больше чиновников контролирующих потребление государственных средств!

Что только не сделают что бы cgroups + cgrulesengd не изучать...

PS

ps -C cgrulesengd -o rss
  RSS
1712

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

93. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от InuYasha (?), 24-Ноя-18, 21:52 
А летом было вот это: https://www.opennet.ru/opennews/art.shtml?num=48994 от фейсбука =)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

97. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (97), 24-Ноя-18, 23:35 
Такое вот хреновое лето... (с)
Ответить | Правка | ^ к родителю #93 | Наверх | Cообщить модератору

99. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (102), 25-Ноя-18, 02:37 
>> Демон написан на языке Python, потребляет около 10 MiB VmRSS и настраивается с помощью файла конфигурации (/etc/nohang/nohang.conf)

Подозреваю если его переписать на C/C++/Go/Rust/whatever он будет занимать 1 Мб памяти максимум?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

104. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от Аноним (104), 25-Ноя-18, 10:31 
Feel free to implement?
Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

108. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (145), 25-Ноя-18, 14:05 
Больше. Earlyoom на C занимает 2 МБ.
Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

121. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (33), 25-Ноя-18, 18:21 
>About 2 MiB (VmRSS), though only 220 kiB is private memory (RssAnon). The rest is the libc library (RssFile) that is shared with other processes.
Ответить | Правка | ^ к родителю #108 | Наверх | Cообщить модератору

165. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (-), 30-Ноя-18, 08:48 
> Больше. Earlyoom на C занимает 2 МБ.

У питона один только интерпретатор нынче занимает заметно больше. Это при том что программу вообще выполнять не начали даже. А ей тоже что-то надо. Хотя питонисты конечно же цифры мастерски подгоняют - но системные штуки интересны тем что там если кого-то и можно на...ть то разве что самого себя.

Ответить | Правка | ^ к родителю #108 | Наверх | Cообщить модератору

135. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Проходил мимо (?), 26-Ноя-18, 07:13 
Если его переписать на С, то, думаю, он будет занимать не более сотни килобайт.

У Rust бинарник, призванный анализировать лог почтового сервера и собранный с ключом --release занимает на диске порядка 400 Кб, а если собрать отладочную версию, то порядка 1.3Мб. При этом дебажная версия обрабатывает 500 Мб mail.log примерно за 2 минуты, а релизная примерно за 10 секунд. Я хз, как им удалось так затормозить дебажную версию, до этого ни в одном языке таких тормозов не было. И это не ошибка в алгоритме, это именно тормоза кода, так как --release работает быстро.

У Go бинарник на диске весит порядка 2Мб, если сделать ему strip, то от несколько худеет, но при этом это статическая версия, не имеющая никаких зависимостей.

Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

105. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Ддд (?), 25-Ноя-18, 11:12 
Издевательство. Могу на Голанг сиатически слинкованный бинарник запилить и весить будет мегабайт
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

107. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (145), 25-Ноя-18, 14:03 
Кстати, https://github.com/hakavlad/nofreeze
Ответить | Правка | ^ к родителю #105 | Наверх | Cообщить модератору

110. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним84701 (ok), 25-Ноя-18, 14:26 
> Кстати, https://github.com/hakavlad/nofreeze


func main() {
...
var t float64 = 0.001
var oo float64 = 1000000000 * t
var tt time.Duration = time.Duration(oo)

var yoba int8 = 1

for true {

        fmt.Println(yoba, yoba, yoba)

        time.Sleep(tt)
        //u++
        //u--
    }


мощно!

Ответить | Правка | ^ к родителю #107 | Наверх | Cообщить модератору

124. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +2 +/
Сообщение от КГБ СССР (?), 25-Ноя-18, 19:09 
Вот ведь как бывает: один аноним не поленился заглянуть в г-нокод, а другие заберут в продакшын. Программа как раз на должном уровне. :)

yoba, yoba, yoba!

Ответить | Правка | ^ к родителю #110 | Наверх | Cообщить модератору

115. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +/
Сообщение от Аноним (115), 25-Ноя-18, 15:33 
Очень хорошая и нужная вещь!!! Совместно с ulatencyd можно выжать максимум с компа!!!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

125. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  –3 +/
Сообщение от Аноим (?), 25-Ноя-18, 21:48 
Вместо того, чтобы расширить функционал ООМ, запилили ненужную прослойку. Всегда так. Вместо того, чтобы обновить ifconfig - объявили ее deprecated и написали сразу веер новых фуфлокоманд.
Linux-way как он есть
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

126. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +3 +/
Сообщение от Stax (ok), 25-Ноя-18, 22:26 
> Вместо того, чтобы расширить функционал ООМ, запилили ненужную прослойку. Всегда так. Вместо
> того, чтобы обновить ifconfig - объявили ее deprecated и написали сразу
> веер новых фуфлокоманд.
> Linux-way как он есть

У вас какой-то баттхерт личного характера на тему устаревания ifconfig? Е-мае, больше 15 лет как iproute2 в ядре а ifconfig не более чем обертка, он раньше 2000 года появился точно. Где-то с ядра 2.2 еще. Можно было за этот срок и научиться пользоватся ip, не?

А по поводу linux-way - ну тут решили так, а что такого? Все равно стандарта никакого на ifconfig/route нет. Их синтаксис в линуксе, фряхе и солярисе разный, возможности тоже разные.

Ответить | Правка | ^ к родителю #125 | Наверх | Cообщить модератору

144. "Выпуск Nohang 0.1, предотвращающего OOM в пространстве польз..."  +1 +/
Сообщение от нах (?), 26-Ноя-18, 18:09 
> Все равно стандарта никакого на ifconfig/route нет. Их синтаксис в линуксе,
> фряхе и солярисе разный, возможности тоже разные.

то есть собственно, ровно до того места, где они одинаковые - кривой враппер, который еще в 2000м грозились выкинуть, эту самую совместимость вполне обеспечивает. Ну вдруг забрел админ bsd386 из криокамеры, и ему к ней непременно надо по ip подключиться, чтоб обратно залезть - на это хватит и его умений и того ifconfig.
(на самом деле там не так все солнечно - это два разных ядерных интерфейса, первый тоже для совместимости, используется, но крайне редко по делу, а второй теоретически может быть не вкомпилен в ядро)

Ответить | Правка | ^ к родителю #126 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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