Есть несколько вопросов:
- Нормально ли поллить сообщения без тайм-аута?
- При тестировании кафки локально и отправки сообщений каждые 10 мс использовании памяти быстро растёт до 1гб, позже медленнее. С чем это связано?
- Как вообще принято хендлить память в работе с Кафкой?
Kafka написана на Java и по умрлчанию в конфиге ей выделено под кучу ровно 1GB. Т.к. в java нет освобождения памяти, а она выполняется сборщиком мусора, когда память закончилась (т.е. потребили этот 1gb) он ее чистит, и так далее... но очень желательно иметь больше памяти у сервера, она уйдет под дисковый кеш, и сократит число операций к диску
1gb этого мало. Gc задолбается
надо минимум 5 гб ставить
Ага... вот как раз и было написано 5GB под Kafka сам. Но если просто взять как есть и запустить скриптом там 1GB и стоит опция UseG1GC
G1 GC - это тип сборщика мусора, если что, к размеру хипа отношения не имеет, просто такое название: G1
Да... Kafka запущеная скриптом, где ничго не менялось, как ее скачали и запустили. Потому у человека, который вопрос задавал, 1GB использован. java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 -Djava.awt.headless=true
Вопрос был тут
Обсуждают сегодня