*DataRegionMetrics#getPhysicalMemoryPages()*, that I mentioned in my
previous message, will give you the closest approximation of off-heap
memory, used by Ignite.

Denis

пн, 5 мар. 2018 г. в 9:59, Emma Support <[email protected]>:

> hi Denis, Thanks for the reply. I would like to ask is it possible to
> monitor the off-heap memory? or check its size easily?
>
> 2018-03-05 14:52 GMT+08:00 Denis Mekhanikov <[email protected]>:
>
>> Hi!
>>
>> Ignite 2.0 and newer uses off-heap memory. VisualVM shows only consumed
>> Java heap, but main part of memory consumption lays outside of it.
>> You can approximate consumed off-heap memory by using 
>> *DataRegionMetrics#getPhysicalMemoryPages()
>> *and multiplying it by page size (4KB by default since Ignite 2.2).
>> Documentation on memory metrics:
>> https://apacheignite.readme.io/v2.3/docs/memory-metrics
>>
>> Also JVM always allocates memory in advance, so you can see more memory
>> used, than the heap size, even if an application doesn't use off-heap.
>>
>> Denis
>>
>> пн, 5 мар. 2018 г. в 6:18, Emma Support <[email protected]>:
>>
>>> I have an Ignite Server with below config:
>>>
>>> JAVA_OPTS="-server -Xms1024m -Xmx4096m -XX:NewSize=64m
>>> -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1024m -XX:+UseParNewGC
>>> -XX:+UseConcMarkSweepGC"
>>>
>>> everyday when I check it using VisualVM, it is healthy, total RAM usage
>>> is below 4G, 2G Heap, 1G Metaspace
>>> However, when it goes to top command in Linux, it shows
>>>
>>>   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>>>  6245 appuser   18   0 14.1g  10g  14m S 235.7 12.9  28495:30 java
>>>
>>> the RES is 10G
>>>
>>>
>>> When I try pmap command, it shows:
>>> ]
>>> 00002ba44a07c000   12156    8320    8320 rw---    [ anon ]
>>> 00000007c0000000    8448    8328    8328 rw---    [ anon ]
>>> 00002ba55c000000   31336   11416   11416 rw---    [ anon ]
>>> 00002ba43e18b000   12552   12552   12552 rw---    [ anon ]
>>> 00002ba514000000   39740   28224   28224 rw---    [ anon ]
>>> 00002ba4b4000000   45196   42244   42244 rw---    [ anon ]
>>> 00002ba444000000   88516   55796   55796 rw---    [ anon ]
>>> 00002ba440000000   62832   61472   61472 rw---    [ anon ]
>>> 00002ba450000000   65536   63620   63620 rw---    [ anon ]
>>> 00002ba42ddc3000   78720   78312   78312 rwx--    [ anon ]
>>> 0000000014e22000  147512  140804  140804 rw---    [ anon ]
>>> 00002ba457f73000  305160  265000  265000 rw---    [ anon ]
>>> 00002ba4b8000000  305160  265000  265000 rw---    [ anon ]
>>> 00000006c0000000  681536  681536  681536 rw---    [ anon ]
>>> 00002ba518c0a000 1081300 1081296 1081296 rw---    [ anon ]
>>> 00002ba4ccf29000 1082316 1081400 1081400 rw---    [ anon ]
>>> 00002ba46d299000 1082316 1081452 1081452 rw---    [ anon ]
>>> 00000006e9990000 2212044 2212044 2212044 rw---    [ anon ]
>>> 00002ba560000000 4325200 3291688 3291688 rw---    [ anon ]
>>>
>>>
>>> is this normal?
>>>
>>> My use case:
>>> I have a thead keep updating the storage (100000 entries) every seconds
>>> then another thread use the data to do some calucation and update
>>> another map every minute
>>>
>>> Thanks!
>>>
>>>
>>>
>

Reply via email to