@ru_devops

Страница 272 из 999
Nick
26.03.2017
22:37:32
я бы рекомендовал своп, гигов 16-32 на ноде
это очень плохой вариант. Сервер толстый, начнет писаться в своп - закончатся чищенные блоки на ссд. Закончатся блоки - при новых попытках записать все встанет раком. Даже если под это сделать вообще отдельный ссд, я проверял.

да, intel s3610 тоже встает раком. и s3700

сильно позже, чем обычные диски, но таки тоже

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

Google
Nick
26.03.2017
22:39:19
в итоге печально, но запускать по крону echo 1 > /proc/sys/vm/drop_caches пока работает лучше всего

Тебе же надо память уменьшить
дентри у меня на 50 мегабайт. кешед - на 60 гигабайт. толку мне от уменьшения дентри?

Pavel
26.03.2017
22:40:34
тогда увы

Nick
26.03.2017
22:42:18
cat /proc/meminfo | egrep -i "cache|dirty" Cached: 64354796 kB SwapCached: 0 kB Dirty: 39804 kB

Alexey
26.03.2017
22:43:02
поставлю вопрос иначе. Я хочу, чтобы когда памяти нет - отстреливался дисковый кеш, а не запущенные процессы. Как???
Всё ещё не понимаю. Если у тебя нет свопа, то единственное что может "отстреливаться" это заммапленый .text, который и есть cached.

Nick
26.03.2017
22:43:41
Всё ещё не понимаю. Если у тебя нет свопа, то единственное что может "отстреливаться" это заммапленый .text, который и есть cached.
а в реальности происходит: [13023247.775976] OOM kill in rage task 127705 (httpd) score 9 in ub 601 [13023247.776060] OOM kill in rage task 125147 (httpd) score 9 in ub 601 [13023247.776145] OOM killer in rage, 16 tasks killed in ub 601 [13023247.776191] Out of memory in UB 601: OOM killed process 127827 (php-fpm56) score 8 vm:930224kB, rss:76348kB, swap:0kB

Alexey
26.03.2017
22:45:45
без свопа опасно, с ним более-менее ОК будет
По мне так наоборот - стопящаяся система хуже той что умирает по ООМ время от времени

Nick
26.03.2017
22:46:55
и чтобы веселее - cat /proc/user_beancounters дает по нулям failcnt

ну т.е. это наверное тогда баг опенвз, а не линукса в целом, но мне от этого не легче

Alexey
26.03.2017
22:48:52
vm.min_free_kbytes пробовал поднимать? ну или прости госпади vm.compact_memory по крону, если ядро говно

Roman
26.03.2017
22:51:04
дентри у меня на 50 мегабайт. кешед - на 60 гигабайт. толку мне от уменьшения дентри?
А dirty? Хотя, там процент от памяти. Но порезать cached никак. Только o_direct или fadvise/madvise

Google
Nick
26.03.2017
22:51:32
Roman
26.03.2017
22:51:49
Ты странного хочешь от mm

Nick
26.03.2017
22:52:45
Available only when CONFIG_COMPACTION is set и я не знаю как там у опенвз, но включил, посмотрим завтра что будет

но по описанию - вряд ли оно что-то меняет для моей проблемы

Alexey
26.03.2017
22:59:04
ну его нужно переодически дёргать, чтоб он дефрагментировал страницы - результат будет в % cat /proc/buddyinfo Node 0, zone DMA 0 0 1 1 0 1 1 0 1 1 3 Node 0, zone DMA32 3753 680 591 1152 225 272 254 189 134 96 40 Node 0, zone Normal 147109 87475 46182 19590 8260 3596 1528 644 219 41 1 Node 1, zone Normal 186493 96649 34493 24677 10216 3266 1012 208 9 0 0

Nick
26.03.2017
23:06:41
cat /proc/buddyinfo Node 0, zone DMA 2 0 1 2 1 1 0 0 1 1 3 Node 0, zone DMA32 13322 11257 9427 7666 5884 3872 2154 769 178 30 1 Node 0, zone Normal 546 288 255 32 7 147 4676 1735 0 0 1

но я что-то затрудняюсь сделать какие-то выводы из этой таблицы

после сжатия cat /proc/buddyinfo Node 0, zone DMA 2 0 1 2 1 1 0 0 1 1 3 Node 0, zone DMA32 166 1165 835 502 1014 971 536 217 54 9 1 Node 0, zone Normal 84126 10184 3030 1086 239 141 85 1075 4 1 1

но я всегда думал, что аллокатор если что - возьмет несколько кусков, и oom для такого маленького процесса как nginx ну уж никак не должен случаться

Alexey
26.03.2017
23:16:45
ну, оно зависит от того кто просит - если само ядро, то весьма вероятно ему последовательный участок нужен

nikoinlove
26.03.2017
23:20:13
он забирает своп потому что у тебя не хватает памяти на процессы а не на файловый кеш

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

nikoinlove
26.03.2017
23:24:05
мы так жаву запускали я помню

с drop_cache по крону

лет 10 назад

у тя ядро тех времен?)

а vm.min_free_kbytes попробовал?

Google
Nick
26.03.2017
23:24:49
у тя ядро тех времен?)
типа того. опенвз

ну выше тут уже обсуждали, vm.min_free_kbytes = 1000000

nikoinlove
26.03.2017
23:25:35
и что, не свободно столько?

Nick
26.03.2017
23:25:52
сейчас не воспроизвести, нагрузка уже спала, днем посмотрю что будет

nikoinlove
26.03.2017
23:25:57
не вычищается cached?

Nick
26.03.2017
23:26:00
и что, не свободно столько?
нагрузка спала, свободно 3 гига

nikoinlove
26.03.2017
23:26:26
я бы предложил обновить ядро нооо

Nick
26.03.2017
23:26:28
и это опять же на ноде, внутри контейнера этим не порулить

да я бы с радостью )

nikoinlove
26.03.2017
23:26:56
возможно то что ты на ноде правишь игнорируют то чего там контейнеры накешировали)

Nick
26.03.2017
23:27:13
дроп кеш - дропает всем

ptchol
26.03.2017
23:27:43
А мож этот кеш кем то активно юзает и он не может быть вытолкан ?

Nick
26.03.2017
23:27:58
дропкеш же выталкивает

ptchol
26.03.2017
23:28:09
Там же вроде в меминфо анон анрек есть

Nick
26.03.2017
23:28:13
ну и да, активно юзается, тысячи сайтов

ptchol
26.03.2017
23:28:20
Он выталкивает то что рек.

Nick
26.03.2017
23:28:28
но после дроп кеша он обратно растет медленно

ptchol
26.03.2017
23:28:36
А

Понял

Google
ptchol
26.03.2017
23:28:46
Беда :(

Nick
26.03.2017
23:28:52
днем минут 20 на сервере с 32 гига памяти и около часа на сервере с 128

Roman
26.03.2017
23:33:49
Но надо знать fd

Ну или какие именно файлы в кеше

Но все равно это решение не той задачи, кмк

Alexey
26.03.2017
23:53:34
лет 10 назад я для пообных говнохаков package'ил vmtouch https://github.com/hoytech/vmtouch/commit/3c8071b67965fa5945904933d051b24a0a9d71d1

Alexey
27.03.2017
00:04:11
Угу, но в основном это для админов было чтоб понимать какие куски поисковой базы в памяти, через mincore

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

Admin
ERROR: S client not available

Alexey
27.03.2017
00:07:43
(но потом появились cgroup'ы и вся эта магия перестала быть нужной)

Олег
27.03.2017
05:23:18
Айтишники Урала, на конференции UWDC-2017 в Челябинске в конце мая будет секция по Devops, вдруг кому интересно? Есть чатик конференции, присоединяйтесь: https://t.me/uwdcconf

Vadim
27.03.2017
05:40:02
Про UWDC-2017 поддержу. Кстати, если есть интерес в том, чтобы что-то рассказать и получить признание и славу))), пишите мне или Олегу.

Let Eat
27.03.2017
06:22:54
ну на них любая архитектура ложится по большому счёту. с оговоркой, что для некоторых целей дедики дешевле чем инстансы.
не любая. у них сети ущербные- ни мультикаста, ни роутинга нормального. если в основе продукта тесная интеграция с сетями, то взлетает сложно и муторно

Р2
27.03.2017
06:36:56
Был недавно в Яндексе. Заговорили про sre и devops. В общем оказалось, что sre - это админы, научившиеся программировать, а devops - это программисты, пытающиеся админить.

Semyon
27.03.2017
06:37:41
как всё плохо-то

Alexey
27.03.2017
06:39:28
ну SRE это изначально програмисты которых заставили админить, не?

Google
Олег
27.03.2017
06:40:43
а тогда в чём отличие от девопсов?

Александр
27.03.2017
06:41:47
А разве там не наоборот

Alexey
27.03.2017
06:42:21
тем, что devops'ы пишут/деплоят свой софт, а не ифраструктуру?

Alexander
27.03.2017
07:04:54
Semyon
27.03.2017
07:05:25
а тогда в чём отличие от девопсов?
в том, что девопсов не существует?

Alexander
27.03.2017
07:08:25
очень напоминает пробелму с vm.zone_reclaim_mode
спасибо за совет, но нет (по крайней мере похоже, что нет, сейчас проснусь и разберусь до конца)

Vadim
27.03.2017
07:39:04
Был недавно в Яндексе. Заговорили про sre и devops. В общем оказалось, что sre - это админы, научившиеся программировать, а devops - это программисты, пытающиеся админить.
Норм, да Еще девопс имхо это подход, при котором админы говорят разработчикам "хочешь эту нестабильную штуку в прод? Окей, только в контейнер ее и ревлизуем как микросервис" ))

Ладно, оффтоп, люди серьезную проблему же обсуждают)

Vadim
27.03.2017
07:56:08
Ну вот, а у меня розовые мечты)

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

ptchol
27.03.2017
07:57:27
опять кому то что то нужно принимать как веру

а вы крестоносец такой

Alexey
27.03.2017
07:59:13
никогда у вас не будет девопса если одни указывают другим что делать
В любом проекте должен быть диктатор, иначе получается SaltStack =)

ptchol
27.03.2017
07:59:47
лидер с авторитетом возможно

диктатор нет

Alexey
27.03.2017
08:02:03
Диктаторы есть во всех нормальных проектах - в линуксе есть Linus, во FreeBSD есть Core team, в OpenBSD есть de Raadt

Vadim
27.03.2017
08:03:05
опять кому то что то нужно принимать как веру
М, а расскажете, как правильней?

ptchol
27.03.2017
08:03:20
неа, у меня всё ещё хуже

Alexey
27.03.2017
08:04:08
(к слову о OpenBSD, не могу не вбросить: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/mg/Attic/theo.c?rev=1.152&content-type=text/x-cvsweb-markup -- листать до static const char *talk[] = { ... })

ptchol
27.03.2017
08:04:08
Диктаторы есть во всех нормальных проектах - в линуксе есть Linus, во FreeBSD есть Core team, в OpenBSD есть de Raadt
вы приводите ситуацию когда диктатор +\- адекватен относительно того, чего хочет комьюнити проекта

Alexey
27.03.2017
08:05:58
THEO АДЕКВАТЕН?!

там скорее комьюнити находит тот проект в котором ей уютно

Страница 272 из 999