[ https://issues.apache.org/jira/browse/IGNITE-6866?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16448320#comment-16448320 ]
Dmitriy Pavlov commented on IGNITE-6866: ---------------------------------------- Where can I find PR to review? > Allocate offheap on client > -------------------------- > > Key: IGNITE-6866 > URL: https://issues.apache.org/jira/browse/IGNITE-6866 > Project: Ignite > Issue Type: Bug > Components: general > Affects Versions: 2.1 > Reporter: Alexander Belyak > Assignee: Alexander Belyak > Priority: Major > > 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 (v7.6.3#76005)