Hi Dmitriy,

Looks like you configured memory policy and memory configuration that are not used by your caches. Also, it looks like your cache use default memory configuration, try to add <property name="defaultMemoryPolicyName" value="dfltPlc"/> to the memoryConfiguration and <property name="name" value="dfltPlc"/> to the memoryPolicy configuration

Evgenii

2017-12-01 16:42 GMT+03:00 Alexey Kukushkin <kukushkinalexey@gmail.com>:
Hi,

You identified the problem right: there is not enough memory to handle 15G of Postgres data on your server. Your idea to configure a memory policy to increase available memory is right but 16G is also not enough. Ignite data size is noticeably larger (up to 3 times, depends on many factors like amount of indexes) than that of the relational DB data files on disk.

You need to estimate how much memory you need. There are two options:
  • Theoretical - see here.
  • Empirical: enable memory metrics and load a smaller amount of entries into cache. Use JMX client to check "totalAllocatedPages" of the DataRegionMetricsMXBean on the server. Multiply the number by 4K to get total used memory in kilobytes. Then extrapolate to the max amount of entries you are going to have.
Remember that Ignite saves you money by horizontal scaling. Just have 4 32G servers if you need 100G of RAM.