Java-процесс Кафки, занимающий слишком много памяти - PullRequest
0 голосов
/ 03 октября 2018

У меня есть кафка 0.11.xx с тремя узлами.Компьютер, на котором размещен сервер, - это компьютер Linux с Ubuntu с 4 ГБ ОЗУ.Я вижу, что процесс Java использует около 90% моей оперативной памяти.Я установил значения кучи равными 5 ГБ.

процесс, занимающий память, равен jre / bin / java -Xmx5G -Xms5G

Так что это нормальный сценарий, когда кафкаожидается, что он будет работать с объемом памяти 4-5 ГБ, или это что-то ненормальное.

Если это не обычный сценарий, можете ли вы предложить решение этой проблемы, или увеличение ОЗУ будет единственнымответить.

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Несколько вещей:

  • Каким-то образом вы устанавливаете параметры кучи JVM на 5 ГБ.Но ваш сервер имеет только 4 ГБ физической памяти?Вам нужно оставить память для ОС, других вспомогательных приложений / утилит, а также для Kafka, или вы столкнетесь с проблемами.
  • Сама Kafka полагается на память вне кучи (т.е. память вне JVM), чтобы обслуживать потребителей оттуда, поэтому ему не нужно все время читать с диска.Но опять же, вам нужно, чтобы эта память была доступна.

Поскольку вы указываете, что в кластере мало активности, я бы сначала начал с установки аргументов JVM для службы Kafka (япри условии, что это то, что вы опубликовали) только до 2 ГБ, поэтому: -Xmx2G -Xms2G.А затем посмотрите, как это влияет на ваше приложение / услугу.Тогда у Кафки будет около 2 ГБ ОЗУ для обработки вне кучи.

0 голосов
/ 03 октября 2018

Kafka предназначен для использования доступной ему памяти , что является частью обеспечения ее высокой производительности.

Linux также захватит необходимую ей память , и этоэто не обязательно плохо.

Я бы беспокоился об использовании памяти только в том случае, если ваш анализ производительности определит, что у машины узкое место в доступной оперативной памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...