Ignite для большого запроса сохраняет данные в памяти, даже если для onHeapCacheEnabled установлено значение false - PullRequest
0 голосов
/ 04 мая 2018

Я использую ignite 2.3 во встроенном режиме, что означает, что мой режим хранения данных по умолчанию - вне кучи Я не включил кэш-память кучи.

Проблема в том, что когда я запускаю большой запрос, данные хранятся в куче в течение длительного времени, прежде чем он, наконец, соберет мусор. Это ожидается? Почему JVM так долго собирает эти данные.

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

Моя CacheConfiguration выглядит следующим образом:

  • максимальный размер области данных: 12288000000L
  • CacheMode.LOCAL
  • indexedType

1 Ответ

0 голосов
/ 04 мая 2018

Ignite всегда хранит данные вне кучи, кэширование по куче - это функция, которая дает вам возможность использовать кучу Java в качестве кэша для памяти вне кучи и настраивать политики удаления, специфичные для этого кэша.

Таким образом, данные, которые вы наблюдаете в куче Java с помощью onHeapCacheEnabled = false, - это не Ignite кеш-данных в вашем случае, а объем памяти приложения Java, который, как ожидается, будет существовать. Если у вас возникают проблемы с производительностью приложений, связанные с GC, отметьте Подготовка к производству , а именно Настройка сбора мусора разделов документации Ignite для советов по настройке, или задайте какие-либо конкретные вопросы здесь.

Привет.

...