You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (JIRA)" <ji...@apache.org> on 2016/05/20 11:04:12 UTC

[jira] [Commented] (IGNITE-2616) NonHeap memory usage metrics don't work as expected.

    [ https://issues.apache.org/jira/browse/IGNITE-2616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15293185#comment-15293185 ] 

Vladislav Pyatkov commented on IGNITE-2616:
-------------------------------------------

I found some offheap metric issue:
{code}
cache.put(46744, "val " + 456);
String val = (String)cache.get(46744);
log.info("OffHeap put {} get {}", metrics.getOffHeapPuts(), metrics.getOffHeapGets());
log.info("OnHeap put {} get {}", metrics.getCachePuts(), metrics.getCacheGets());
{code}
In result had seen:
{noformat}
2016-05-20 12:22:09 INFO  ServerNode:62 - OffHeap put 1 get 0
2016-05-20 12:22:09 INFO  ServerNode:63 - OnHeap put 1 get 1
{noformat}
I think every value should by 1.

> NonHeap memory usage metrics don't work as expected.
> ----------------------------------------------------
>
>                 Key: IGNITE-2616
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2616
>             Project: Ignite
>          Issue Type: Bug
>          Components: general
>    Affects Versions: 1.5.0.final
>            Reporter: Vladimir Ershov
>            Priority: Minor
>         Attachments: ClusterMetricsOnCacheSelfTest.java
>
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> This simple code:
> {noformat}
>     public static void main(String ... args) {
>         MemoryMXBean mxBean = ManagementFactory.getMemoryMXBean();
>         System.out.println(mxBean.getNonHeapMemoryUsage());
>         GridUnsafeMemory uMem = new GridUnsafeMemory(1024L * 1024 * 1024 * 3); //3GB
>         System.out.println(mxBean.getNonHeapMemoryUsage());
>         uMem.allocate(1024 * 1024 * 1024, true, false);
>         System.out.println(mxBean.getNonHeapMemoryUsage());
>         uMem.allocate(1024 * 1024 * 1024, true, true);
>         System.out.println(mxBean.getNonHeapMemoryUsage());
>     }
> {noformat}
> shows: 
> {noformat}
> init = 2555904(2496K) used = 4783352(4671K) committed = 8060928(7872K) max = -1(-1K)
> init = 2555904(2496K) used = 5018704(4901K) committed = 8060928(7872K) max = -1(-1K)
> init = 2555904(2496K) used = 5018960(4901K) committed = 8060928(7872K) max = -1(-1K)
> init = 2555904(2496K) used = 5018960(4901K) committed = 8060928(7872K) max = -1(-1K)
> {noformat}
> which means: offHeap metrics are incorrect. The  problem is: Apache Ignite uses that MemoryMXBean  for collecting metrics, thus Apache Ignite offHeap metrics are incorrect too. We should find the way to fix this, if there are any.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)