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

Reply via email to