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/ >
