Alexander Belyak created IGNITE-6866: ----------------------------------------
Summary: Allocate offheap on client Key: IGNITE-6866 URL: https://issues.apache.org/jira/browse/IGNITE-6866 Project: Ignite Issue Type: Bug Security Level: Public (Viewable by anyone) Components: general Affects Versions: 2.1 Reporter: Alexander Belyak Often client use the same config file as a server and ignite start offheap memory for client too... but never use it. How it happens: 1) Default memory configuration for server is creating in IgnitionEx.initializeConfiguration() method: if (!myCfg.isClientMode() && myCfg.getMemoryConfiguration() == null) so if ignite configuration already contains memoryConfiguration - it stay there 2) In IgniteCacheDatabaseSharedManager.anActivate method do nothing only: if (cctx.kernalContext().clientNode() && cctx.kernalContext().config().getMemoryConfiguration() == null) return; So if ignite configuration contains memory configuration - it will be allocated. Why its not good: 1) Memory allocation spend virtual memory (OS didn't really allocate memory before first access to it) and if overcommit_memory strategy is set to OVERCOMMIT_NEVER - it can block start client node (maybe first or second one) in same host (see: /proc/sys/vm/overcommit_memory and /proc/sys/vm/overcommit_ratio) 2) In IgniteKernal.checkPhysicalRam() we use maxSize of offheap memory and log warning about memory overusage Good news only one - often in memory configuration really big only maxSize, but initialSize is just about 256Mb so each client really allocate not so many RAM. -- This message was sent by Atlassian JIRA (v6.4.14#64029)