Size: a a a

OpenShift - русскоязычное сообщество

2021 August 03

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
он то никого не рипает. Он потребляет память. На pod выделен limit, которого не хватает. И тогда основной процесс, он же основной memory потребитель, грохается по OOM
источник

DG

Dmitry Gadeev in OpenShift - русскоязычное сообщество
звучит как баг, что учитывается потребление инфрового контейнера
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
тут даже вопрос не в том, что жалко накинуть еще 10Mb лимита на pod, скорее понять, почему на OCP 4.5 хватало, а на OCP 4.7 внезапно перестало хватать лимита
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
а как избежать учета? На pod выделяется namespace в cgroup. Сразу определяется лимит в соответствие с описанием deployment. POD - это тоже контейнер в том же namespace
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
убивает процесс не kubelet, а механизм обработки cgroup.
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
источник

dm

dmi3 mis in OpenShift - русскоязычное сообщество
Порадовали с return 42;
источник

DG

Dmitry Gadeev in OpenShift - русскоязычное сообщество
мб автоматом сконвертировано си2го или наоборот 🙂
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
@vrutkovs
sum(container_memory_working_set_bytes{namespace='<NAMESPACE>',container='POD'}) BY (pod, namespace,container)

показывает разброс в потреблении памяти от 1,5Mb до 8Mb. В выборке участвуют 39 подов одного namespace.
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
вот тебе и pause контейнер...
источник

DG

Dmitry Gadeev in OpenShift - русскоязычное сообщество
а если не секрет, на чем ваши сервисы. что им 30мб хватате? явно ж не джава? 🙂
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
там разные микросервисы. Есть на Go, есть на Java. Соответственно не все потребляют 28Mb
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
есть и по 500Mb
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
но на том, который потребляет 28Mb - на нем заметнее нестыковка
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
в качестве завершения исследования:

на OpenShift 3.11:
# ps aux | grep /usr/bin/[p]od | awk '{print $2}' | xargs -I {} bash -c "pmap {} | grep total"
total             2736K
total             2736K
total             2736K
total             2736K
...
total             2736K
total             2736K
total             2736K
total             2736K
total             2736K

на OCP 4.7:
# ps aux | grep /usr/bin/[p]od | grep -v podman | awk '{print $2}' | xargs -I {} bash -c "pmap {} | grep total"
total           703340K
total           703084K
total           703340K
...
total           703340K
total           703084K
total           703596K
total           703596K
источник

MS

Michail Sheldyakov in OpenShift - русскоязычное сообщество
а что значит этот total? это же 700 мегабайт.
может быть надо rss сравнивать?
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
да, что-то многовато получилось
источник

MS

Michail Sheldyakov in OpenShift - русскоязычное сообщество
ps aux | grep /usr/bin/[p]od | grep -v podman | awk '{print $2}' | xargs -I {} bash -c "pmap -x {} | grep total  | awk {'print \$4'}"
2876
2984
2832
2892
2972
3008
3008
2968
2964
3000
2980
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
это на какой версии OCP?
источник

IZ

Igor Zachinyaev in OpenShift - русскоязычное сообщество
# ps aux | grep /usr/bin/[p]od | grep -v podman | awk '{print $2}' | xargs -I {} bash -c "pmap -x {} | grep total  | awk {'print \$4'}"
7704
5672
5752
5760
7700
7704
7768
7768
...
7780
7772
7776
5740
7772
7768
7772
5760
5756
5748
7764
5748
5756
7764
3704
2140
5748
5760
7780
5752
5684
7772
7772
источник