Re: Do we require to set MaxDirectMemorySize JVM parameter?

2019-01-16 Thread rick_tem
Oh, that is great.  I wasn't aware of that.  Thanks for the link!



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2019-01-16 Thread Ilya Kasnacheev
Hello!

You can have some caches persistent and some not persistent, by having
several DataRegions some of whose have persistenceEnabled=true and some are
not, and specifying DataRegion by name in cache configuration.

Please see
https://apacheignite.readme.io/docs/memory-configuration#section-data-regions

Regards,
-- 
Ilya Kasnacheev


ср, 16 янв. 2019 г. в 13:15, rick_tem :

> Yes, we have a similar reluctance to use persistent store.  Ouruse case is
> that Gigs of data will be running through it with several caches that we
> don't necessarily want to keep around in a docker environment.  Some
> caches,
> however, we would like persistent.  Is there a plan to have persistence
> configurable at the cache level, or will it be all or nothing in the
> forseeable future?
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2019-01-16 Thread rick_tem
Yes, we have a similar reluctance to use persistent store.  Ouruse case is
that Gigs of data will be running through it with several caches that we
don't necessarily want to keep around in a docker environment.  Some caches,
however, we would like persistent.  Is there a plan to have persistence
configurable at the cache level, or will it be all or nothing in the
forseeable future?



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2019-01-16 Thread colinc
Thanks. We'll give Native Persistence another try.

Our reluctance to use it stems from the fact that if something goes wrong
with the storage then there are additional production processes required to
recover - bad persistent store can cause the cluster to fail to start or
else propagate problems. 

If your cache data is considered transient then the recovery or upgrade
process is a straightforward restart.




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2019-01-10 Thread Stanislav Lukyanov
> In my case, I have configured swap storage 
> (https://apacheignite.readme.io/docs/swap-space) but *not* Ignite durable 
> memory. If DataRegion maxSize is say 100GB and my physical RAM is 50GB
> then 
> the swap file will be 100GB but Ignite will also use some portion (<50GB)
> of 
> the available physical RAM for off-heap cache data storage. 

I assume by Durable Memory you mean Native Persistence. They're
(confusingly) different - Durable Memory is just the name of the Ignite's
memory architecture, not necessarily with Persistence enabled.

> My question is about how to limit the size of this portion while still 
> allowing the DataRegion to specify a large swap file for use as overflow
> of 
> less regularly accessed data. 

I don't think it's possible. Just use Native Persistence instead - you'll
get the memory distribution that you want
(dataRegionConfiguration.maxSize=8gb will do the trick), and actual
persistence as a bonus.

Stan



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2019-01-04 Thread colinc
Or is it necessary to use the OS to enforce this? For example using ulimit -d



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2019-01-02 Thread colinc
Thanks for the responses. To summarise:

* JVM Heap (Xmx) - Not normally used by Ignite for caching data.
* MaxDirectMemorySize - Used by Ignite for some file operations but not for
caching data. As per above, 256m is usually sufficient.
* DataRegion maxSize - Used by Ignite to determine how much memory to
allocate using some combination of durable, swap and off-heap (Java unsafe)
RAM.

In my case, I have configured swap storage
(https://apacheignite.readme.io/docs/swap-space) but *not* Ignite durable
memory. If DataRegion maxSize is say 100GB and my physical RAM is 50GB then
the swap file will be 100GB but Ignite will also use some portion (<50GB) of
the available physical RAM for off-heap cache data storage.

My question is about how to limit the size of this portion while still
allowing the DataRegion to specify a large swap file for use as overflow of
less regularly accessed data.

For example, say I wanted my node to use 8GB off-heap physical RAM and 100GB
swap file on a machine that has a total of 50GB of physical RAM (shared with
other processes).

What parameter would I need to configure 8GB? Is it possible to control
this?

Thanks,
Colin.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2018-12-24 Thread stanlukyanov
We’re actually looking into off-heap memory usage of ignite now, specifically 
into the MaxDirectMemorySize needed.

So far it seems that MaxDirectMemorySize=256m should work. It may need to be 
larger if you use non-default walSegmentSize.

Not limiting the direct memory size may result in excessive allocation, more 
work for garbage collector and even OOM.

My early recommendation (note that the investigation is still in progress) 
would be to set the parameter to 256mb and increase it if you hit “OOME: direct 
memory”. We’ll have it published on readme.io when the testing is done.

Stan 

> On 24 Dec 2018, at 11:42, Павлухин Иван  wrote:
> 
> Hi summasumma,
> 
>> Means, i should have minimum 16 Gb of RAM (8 dataregion+ 8 directmem) for
>> Ignite to run properly i guess.
> 
> Not quite. Actually, I am not aware that Ignite requires some special
> tuning of MaxDirectMemorySize. If direct memory causes OOME then the
> exception message usually points it out (e.g. "Direct buffer memory").
> Check if it is your case.
> 
> Indeed you should be careful when configure DataRegion.maxSize because
> OOME is a real problem and you will get it if put more data into
> Ignite than specified limit. One should carefully plan how many data
> is going to be stored into Ignite when in-memory mode is used. Also,
> it is possible to use Ignite native persistence or configure swap to
> overcome OOME [1]. Also page about capacity planning might be useful
> here [2].
> 
> [1] https://apacheignite.readme.io/docs/durable-memory
> [2] https://apacheignite.readme.io/docs/capacity-planning
> 
> пн, 24 дек. 2018 г. в 09:53, summasumma :
>> 
>> Thanks Ivan.
>> 
>> This means having both configuration as follows:
>> xml--> 
>> jvmption --> "-XX:MaxDirectMemorySize=8g"
>> 
>> Means, i should have minimum 16 Gb of RAM (8 dataregion+ 8 directmem) for
>> Ignite to run properly i guess.
>> 
>> In my current setup i have 16GB of total ram and given 12GB=maxSize
>> Dataregion and jvmoption as '-XX:MaxDirectMemorySize=8g'. And this is
>> crashing Ignite with OOME after a while (though not immediatly) when i try
>> to do a performance testing of Update operation. so this means either i
>> should increase the RAM or decrease the XX:MaxDirectMemorySize to 4g ?
>> 
>> Please clarify
>> 
>> Thanks
>> ...summa
>> 
>> 
>> 
>> --
>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
> 
> 
> 
> -- 
> Best regards,
> Ivan Pavlukhin


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2018-12-24 Thread Павлухин Иван
Hi summasumma,

> Means, i should have minimum 16 Gb of RAM (8 dataregion+ 8 directmem) for
> Ignite to run properly i guess.

Not quite. Actually, I am not aware that Ignite requires some special
tuning of MaxDirectMemorySize. If direct memory causes OOME then the
exception message usually points it out (e.g. "Direct buffer memory").
Check if it is your case.

Indeed you should be careful when configure DataRegion.maxSize because
OOME is a real problem and you will get it if put more data into
Ignite than specified limit. One should carefully plan how many data
is going to be stored into Ignite when in-memory mode is used. Also,
it is possible to use Ignite native persistence or configure swap to
overcome OOME [1]. Also page about capacity planning might be useful
here [2].

[1] https://apacheignite.readme.io/docs/durable-memory
[2] https://apacheignite.readme.io/docs/capacity-planning

пн, 24 дек. 2018 г. в 09:53, summasumma :
>
> Thanks Ivan.
>
> This means having both configuration as follows:
> xml--> 
> jvmption --> "-XX:MaxDirectMemorySize=8g"
>
> Means, i should have minimum 16 Gb of RAM (8 dataregion+ 8 directmem) for
> Ignite to run properly i guess.
>
> In my current setup i have 16GB of total ram and given 12GB=maxSize
> Dataregion and jvmoption as '-XX:MaxDirectMemorySize=8g'. And this is
> crashing Ignite with OOME after a while (though not immediatly) when i try
> to do a performance testing of Update operation. so this means either i
> should increase the RAM or decrease the XX:MaxDirectMemorySize to 4g ?
>
> Please clarify
>
> Thanks
> ...summa
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/



-- 
Best regards,
Ivan Pavlukhin


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2018-12-23 Thread summasumma
Thanks Ivan.

This means having both configuration as follows:
xml-->  
jvmption --> "-XX:MaxDirectMemorySize=8g" 

Means, i should have minimum 16 Gb of RAM (8 dataregion+ 8 directmem) for
Ignite to run properly i guess.

In my current setup i have 16GB of total ram and given 12GB=maxSize
Dataregion and jvmoption as '-XX:MaxDirectMemorySize=8g'. And this is
crashing Ignite with OOME after a while (though not immediatly) when i try
to do a performance testing of Update operation. so this means either i
should increase the RAM or decrease the XX:MaxDirectMemorySize to 4g ?

Please clarify

Thanks
...summa



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2018-12-23 Thread Павлухин Иван
Hi summasumma,

DataRegion maxSize and jvm MaxDirectMemorySize are completely different.
Ignite DataRegion uses offheap memory allocated with help of Unsafe.
And that memory is not related to "direct memory" which jvm allocates
when direct buffers are used (e.g. ByteBuffer.allocateDirect). To
constraint max amount of memory for direct buffers one can use
MaxDirectMemorySize jvm option. As far as I know, by default
MaxDirectMemorySize is equal to Xmx. Consult [1] for more details.

[1] https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html

2018-12-23 11:17 GMT+03:00, Павлухин Иван :
> Hi collnc,
>
> Perhaps, documentation can answer you question [1].
>
> [1] https://apacheignite.readme.io/docs/durable-memory-tuning
>
> 2018-12-21 20:39 GMT+03:00, summasumma :
>> In the above example,
>>
>> is setting  "
>> "
>> in xml config file same as adding a jvmoption
>> "-XX:MaxDirectMemorySize=8g"
>> ?
>> or its different?
>>
>> Can somone please clarify?
>>
>> Thanks
>> ...summa
>>
>>
>>
>> --
>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>
>
>
> --
> Best regards,
> Ivan Pavlukhin
>


-- 
Best regards,
Ivan Pavlukhin


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2018-12-23 Thread Павлухин Иван
Hi collnc,

Perhaps, documentation can answer you question [1].

[1] https://apacheignite.readme.io/docs/durable-memory-tuning

2018-12-21 20:39 GMT+03:00, summasumma :
> In the above example,
>
> is setting  "
> "
> in xml config file same as adding a jvmoption "-XX:MaxDirectMemorySize=8g"
> ?
> or its different?
>
> Can somone please clarify?
>
> Thanks
> ...summa
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>


-- 
Best regards,
Ivan Pavlukhin


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2018-12-21 Thread summasumma
In the above example,

is setting  " "
in xml config file same as adding a jvmoption "-XX:MaxDirectMemorySize=8g" ?
or its different?

Can somone please clarify?

Thanks
...summa



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2018-12-20 Thread colinc
Is there any alternative way to constrain max physical RAM that Ignite uses?

My use case is to constrain physical RAM usage in a shared environment,
while allowing a relatively generous allocation of swap storage. I'm aware
of Ignite persistence, but believe that swap storage might meet our needs
better in this case.

So ideally, I'd configure the memory region max memory to determine the size
of the swap file - and use some other parameter to configure the maximum
amount of off-heap RAM that the process can consume.

What is the best way to achieve this?

Thanks,
Colin.




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Do we require to set MaxDirectMemorySize JVM parameter?

2018-04-17 Thread dkarachentsev
Hi Ankit,

No, Ignite uses sun.misc.Unsafe for offheap memory. Direct memory may be
used in DirectBuffers used for intercommunication. Usually defaults quite
enough.

Thanks!
-Dmitry



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Do we require to set MaxDirectMemorySize JVM parameter?

2018-04-17 Thread Ankit Singhai
Hi All,
Do we require to set MaxDirectMemorySize JVM parameter on IgniteServer to
make use of OFFHEAP?

For an example to make use of 8 GB off heap should I add MaxDirectMemorySize
if yes then how much?
  
  

  
  
  
  
  

  


Regards,
Ankit




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/