Hi Tomislav,

1) When you say you want to increase the heap memory to Ignite node, do you
mean off-heap or on-heap?

To increase the off-heap memory, please make sure to set these parameters
explicitly in your ignite server xml configuration file under the
DataRegionConfiguration that you are currently using -
<property name="initialSize" value="your value"/>
<property name="maxSize" value="your value"/>

To increase on-heap memory (basically the JVM heap size), you provide the
-Xms and -Xmx java options as you showed. It is completely okay to have the
maxSize parameter above to have a much larger value than the -Xmx parameter.

When using Docker, there is one thing you need to be careful about - the
JVM may not necessarily limit itself to the amount of memory allocated to
the Docker container if you don't change the default parameters.
There are 2 options to deal with this -
a) In the docker run command, set the --memory parameter to the amount of
memory you want to give the container AND make sure -Xmx parameter is set
for the JVM to comply with the value you set for the --memory parameter of
docker run.
b) The above leaves you wanting to change the memory values in two places
everytime you want to change it. So JDK 9 (also backported to JDK 8)
introduced a new way for the JVM to discover the value that has been set
for the docker container.

-XX:+UnlockExperimentalVMOptions
-XX:+UseCGroupMemoryLimitForHeap
-XX:MaxRAMFraction=1

When you use the above options for the JVM, the JVM will comply with
whatever value has been set for the container in the --memory parameter.

2) When you execute a distributed query, the retrieved data is on-heap.
Change your -Xmx JVM parameter to fix this.

3) Depends on your usecase. Use the information provided above to set it as
per your needs.

Regards,
RH
https://www.apacheignitetutorial.com/




On Fri, Feb 1, 2019 at 11:33 AM newigniter <[email protected]>
wrote:

> Greetings all.
> I have a few questions regarding memory.
>
> 1.) I am running ignite inside docker container. How can I increase heap
> memory to ignite node when started?
> I tried with passing -Xmx (I pass it to docker run command like this: -e
> "JAVA_OPTS=-Xmx3g")
> parameter but when node starts it always says that heap memory is 1gb?
>
> 2.) When I execute some query(e.g. select * from table), where does ignite
> stores the data retrieved? off heap or on heap memory? Each time I perform
> some query which should load some data to memory(not even that much, 20000
> rows but with about 30 columns) ignite node fails due to insufficient
> memory. I presume heap memory is the problem but I don't understand how I
> can change it.
>
> 3.) How much heap memory should I assign to my node? I have 32 gb machine.
> Currently I assigned 16gb data region to ignite node. Heap memory is 1gb,
> default one.
>
> Appreciate the help.
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>

Reply via email to