Рекомендации по настройке размера запроса памяти модуля - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть вопрос, основанный на моем опыте попыток правильно реализовать запросы / ограничения памяти в кластере OpenShift OKD. Я начал с установки без запроса, затем посмотрел, какие метрики кластера сообщили об использовании памяти, а затем установил что-то близкое к этому в качестве запроса. В итоге у меня появились узлы с высоким давлением памяти, побои и убийства. Я обнаружил, что мне нужно установить для запросов что-то более близкое к размеру VIRT в «top» (включая двоичный размер программы), чтобы поддерживать производительность. Имеет ли это смысл? Меня смущает асимметрия между запросом (и очевидной потребностью) и заявленным использованием в метриках.

1 Ответ

0 голосов
/ 08 ноября 2018

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

  • Родной JRE
  • Пермь / метапространство
  • Байт-код JIT
  • JNI
  • NIO
  • Тема

Этот блог объясняет некоторые из них.

...