

- Главная
- Каталог
- Интернет технологии
- ServerAdmin.ru

ServerAdmin.ru
Авторская информация о системном администрировании. Публикуется только IT тематика.
Статистика канала
Полная статистикаchevron_right# choom -p 1994
pid 1994's current OOM score: 684
pid 1994's current OOM score adjust value: 0
Посмотрели текущее значения oom_score
и oom_score_adj
. Для того, чтобы максимально уменьшить шанс для процесса быть убитыми, ему нужно присвоить параметр oom_score_adj -1000. Соответственно, параметр 1000 будет означать максимальный шанс. То есть там разбег от -1000 до 1000. И чем меньше значение, тем меньше шанса быть завершённым.
# choom -p 1994 -n -1000
Проверяем:
# choom -p 1994
pid 1994's current OOM score: 0
pid 1994's current OOM score adjust value: -1000
Oom_score стал 0, а oom_score_adj, как и указали -1000. В данном примере pid 1994 - это процесс mariadbd. Удобней было бы сделать сразу вот так:
# choom -p $(pidof mariadbd) -n 1000
Вообще, принцип работы OOM-killer довольно замороченный. Как видно, у него есть два параметра oom_score и oom_score_adj. Первый показывает текущие накопленные баллы, которые динамически изменяются в зависимости от различных условий, а второй - это то, что задаётся вручную и тоже влияет на oom_score. Сделав oom_score_adj минимальным, то есть -1000, мы и oom_score уменьшили.
Вручную всё это менять имеет смысл только в каких-то отладочных целях. Для постоянной работы этими параметрами удобнее управлять через systemd. Просто указываем в unit файле сервиса нужные значения:
[Service]
............
OOMScoreAdjust=-800
............
Перезапускаем сервис и проверяем. В случае с mariadb это будет выглядеть так. Делаем корректировку стандартного юнита:
# systemctl edit mariadb
Добавляем в конфигурацию:
[Service]
OOMScoreAdjust=-800
Перечитываем параметры юнита и перезапускаем его.
# systemctl daemon-reload
# systemctl restart mariadb
Проверяем значение:
# choom -p $(pidof mariadbd)
pid 2274's current OOM score: 152
pid 2274's current OOM score adjust value: -800
По сути choom удобен именно для просмотра. Смотреть значения с помощью утилиты быстрее и проще, чем напрямую:
# cat /proc/2274/oom_score
# cat /proc/2274/oom_score_adj
Она по сути именно это и делает. И меняет значение тоже переопределяя именно эти параметры.
На практике я никогда не занимался настройкой OOMScoreAdjust
. Если на сервере кончается память и приходит OOM-killer - это аварийная ситуация. Надо идти и разбираться, куда утекает память и почему её не хватает. Обычно после этого её должно хватать.
Исключение, наверное, для каких-то специфических случаев, когда целенаправленно нужно использовать всю память сервера, но при этом гарантированно иметь работающим какое-то приложение. Я не могу придумать таких примеров, но думаю, что они есть. Если кто-то знает такие истории, поделитесь в комментариях. Когда вам приходилось целенаправленно настраивать OOMScoreAdjust? В голову приходят агенты мониторинга. Желательно, чтобы они всегда работали, но на практике я не видел, чтобы их первым отключал OOM-killer.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #terminal #systemd
/ip firewall address-list
add address=192.168.137.110 list=Ivan
add address=192.168.137.111 list=Olga
/ip firewall filter
add action=reject chain=forward reject-with=icmp-network-unreachable src-address-list=Ivan time=\
22h-7h,sun,mon,tue,wed,thu,fri,sat
add action=reject chain=forward reject-with=icmp-network-unreachable src-address-list=Olga time=\
21h-7h,sun,mon,tue,wed,thu,fri,sat{}
Создаю списки устройств детей и делаю для них правила, которые начинают работать в ночное время, чтобы выключать доступ в интернет. У меня родительский контроль так работал. А он оказывается примерно так же, но в другой форме организован в отдельном разделе.
В общем, чтобы в очередной раз об этом не забыть, пишу заметку и рассказываю, как этот родительский контроль работает.
В разделе IP ⇨ Kid Control есть 2 вкладки: Kids и Devices. В раздел Kids добавляем ребёнка и назначаем ему часы, когда интернет будет работать. Там же можно настроить ограничение скорости. В целом это тоже может быть полезно. Для того, чтобы делать уроки, смотреть расписание и искать какую-то текстовую информацию большая скорость не нужна. Можно ограничить, чтобы не работали видео и не было соблазна быстренько что-то посмотреть. А вечером, когда уроки закончены, ограничение убрать.
В Devices добавляем по MAC адресу устройства ребёнка и привязываем их к нему.
Такой вот нехитрый контроль, который по факту делает примерно то же самое, что и я вручную. Для ограничения интернета добавляет и убирает блокирующие правила в файрвол для IP адресов устройств детей. А для ограничения скорости добавляет правила в Queues ⇨ Simple Queues.
Я этот же контроль придумал сам, только скорость не ограничивал. Большого смысла в этом не вижу. У меня дети по факту уроки нормально делают самостоятельно днём и с интернетом. Отключаю вечером, чтобы не было лишних разговор и разбирательств перед сном. Смартфоны тоже выключаются. Время пришло, всё автоматически выключилось. Спорить и что-то просить не у кого. Все идут чистить зубы и спать.
Вроде разработчики постарались сделать удобно, но по факту получилось так себе. Списки IP адресов устройств формируются на основе таблицы ARP. Если перезагрузить роутер в тот момент, когда устройства детей выключены, их IP адресов в ARP таблице не будет. Динамические правила в файрвол не добавятся. Я сначала не понял, почему там после перезагрузки пусто. Потом сообразил, когда посмотреть таблицу ARP и не увидел там нужных устройств.
Такая реализация может запутать в настройке файрвола. Проще как я раньше делал, писать правила с указанием времени вручную. Они всегда перед глазами, хоть и отключаются вне заданного диапазона времени.
#mikrotik #детиmcedit
. Не считаю его очень удобным, но привык. Мои потребности закрывает, так как я особо много в консоли не редактирую. Если что-то большое, масштабное, то делаю на компьютере в VSCode.
Если стоит nano
, то буду работать в нём. Vi
или vim
не люблю, закрою, если случайно откроется 😆 Но приходится мириться, так как по visudo
открывается. Я обычно не переназначаю. Хотя это было раньше, на rpm дистрибутивах, с которыми я всё реже взаимодействую. В deb visudo открывает nano. И это здорово. Про vi теперь не вспоминаю.
Вариант ответа будет только один. Так что выбирайте тот, что вам больше нравится, даже если работаете в разных.
#опросСтатистика
Отзывы канала
всего 3 отзыва
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
ServerAdmin.ru — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 31.4K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 27.1, количество отзывов – 3, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 32167.8 ₽, а за 39 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий