True, but that's the case with pretty much all software. On Sat, 14 Feb 2026 at 20:28, Humphrey <[email protected]> wrote:
> Ignite also doesn’t release the off heap memory it allocated. > > On 12 Feb 2026, at 12:52, Stephen Darlington <[email protected]> > wrote: > > > We should probably improve the documentation around this issue, as it's a > common misunderstanding. > > Simplifying slightly, Ignite has two kinds of memory: on-heap and > off-heap. The memory you configured in XML is the off-heap memory. That's > where Ignite stores your data. There's also the Java heap, which you can > think of as its working set. I don't know the default in your environment. > > You need to add the types together (and then add a bit) to find Ignite's > total memory footprint. > > See here for how to configure the heap memory: > https://ignite.apache.org/docs/ignite2/latest/perf-and-troubleshooting/memory-tuning > > On Thu, 12 Feb 2026 at 10:27, Charlin S <[email protected]> wrote: > >> Hi All, >> >> I've encountered an issue where memory usage is spiking on the Ignite >> server, and the memory is not being released back to the OS. I am hosting >> three grids on this server: two use replication cache mode with no expiry >> policy, and the third uses partition cache mode with an expiry policy. >> >> This issue first appeared with Amazon Linux 2023.9.20251027 and `openjdk >> version "1.8.0_402-402"`. We subsequently upgraded to Java 17, focusing on >> the primary JVM options designed to encourage the release of unused heap >> memory to the operating system. We start Ignite using `ignite.sh >> config/grid1.xml`. >> Please suggest ways to finetune the configuration for better memory >> management. >> >> The current upgraded version details are: >> >> ``` >> openjdk version "17.0.17" 2025-10-21 LTS >> OpenJDK Runtime Environment Microsoft-12574440 (build 17.0.17+10-LTS) >> OpenJDK 64-Bit Server VM Microsoft-12574440 (build 17.0.17+10-LTS, mixed >> mode, sharing) >> >> >> ``` >> >> Observations: >> >> * One Ignite grid (partition mode, 2-cluster) uses 19GB of memory, but >> its data region is only 18GB. >> * Another grid (replication mode, 2-cluster) uses 21GB of memory, but its >> data region is only 10GB. >> >> >> >> bean xml file >> <?xml version="1.0" encoding="UTF-8"?> >> <beans xmlns="http://www.springframework.org/schema/beans" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:util="http://www.springframework.org/schema/util" >> xsi:schemaLocation="http://www.springframework.org/schema/beans >> >> http://www.springframework.org/schema/beans/spring-beans.xsd >> http://www.springframework.org/schema/util >> >> http://www.springframework.org/schema/util/spring-util.xsd"> >> <bean class="org.apache.ignite.configuration.IgniteConfiguration"> >> <property name="clientMode" value="false"/> >> <property name="clientFailureDetectionTimeout" value="120000"/> >> <property name="igniteInstanceName" value="Productiongrid"/> >> <property name="longQueryWarningTimeout" value="4000"/> >> <property name="failureDetectionTimeout" value="120000"/> >> <property name="segmentationPolicy" value="RESTART_JVM"/> >> <property name="segmentCheckFrequency" value="20000"/> >> <property name="segmentationResolveAttempts" value="10"/> >> <property name="discoverySpi"> >> <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> >> <property name="localPort" value="55500"/> >> <property name="ipFinder"> >> <bean >> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> >> <property name="addresses"> >> <list> >> <value>IP:55500</value> >> <value>IP:55500</value> >> </list> >> </property> >> </bean> >> </property> >> </bean> >> </property> >> <property name="dataStorageConfiguration"> >> <bean >> class="org.apache.ignite.configuration.DataStorageConfiguration"> >> <property name="defaultDataRegionConfiguration"> >> <bean >> class="org.apache.ignite.configuration.DataRegionConfiguration"> >> <property name="name" >> value="Dynamic_Data_Region"/> >> <property name="initialSize" value="#{1L * 1024 * >> 1024 * 1024}"/> >> <property name="maxSize" value="#{18L * 1024 * >> 1024 * 1024}"/> >> <property name="pageEvictionMode" >> value="RANDOM_2_LRU"/> >> <property name="evictionThreshold" value="0.7"/> >> <property name="emptyPagesPoolSize" >> value="65536"/> >> </bean> >> </property> >> </bean> >> </property> >> <property name="communicationSpi"> >> <bean >> class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi"> >> <property name="sharedMemoryPort" value="-1"/> >> <property name="localPort" value="55605"/> >> </bean> >> </property> >> </bean> >> </beans> >> >> Thanks & Regards, >> Charlin >> >>
