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

Google

Alexey
26.03.2017
22:39:08

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

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

Nick
26.03.2017
22:43:41

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

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

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

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

Roman
26.03.2017
23:58:48

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
как всё плохо-то

Олег
27.03.2017
06:38:45

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

Vadim
27.03.2017
07:39:04
Ладно, оффтоп, люди серьезную проблему же обсуждают)

ptchol
27.03.2017
07:42:50

Vadim
27.03.2017
07:56:08
Ну вот, а у меня розовые мечты)
Вообще идея в том, что подход нужно всем принять
Тогда это не указвние, а следование подходу

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

Alexey
27.03.2017
07:59:13

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

Alexey
27.03.2017
08:05:58
THEO АДЕКВАТЕН?!
там скорее комьюнити находит тот проект в котором ей уютно