nodetool信息和java内存不匹配

问题描述 投票:0回答:1

在6节点卡桑德拉簇,堆大小被配置为31克。当我运行nodetool信息,我见下文

Nodetool info - 
[root@ip-10-216-86-94 ~]# nodetool info
ID                     : 88esdsd01-5233-4b56-a240-ea051ced2928
Gossip active          : true
Thrift active          : false
Native Transport active: true
Load                   : 53.31 GiB
Generation No          : 1549564460
Uptime (seconds)       : 734
Heap Memory (MB)       : 828.45 / 31744.00
Off Heap Memory (MB)   : 277.25
Data Center            : us-east
Rack                   : 1a
Exceptions             : 0
Key Cache              : entries 8491, size 1.12 MiB, capacity 100 MiB, 35299 hits, 44315 requests, 0.797 recent hit rate, 14400 save period in seconds
Row Cache              : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds
Counter Cache          : entries 5414, size 1.22 MiB, capacity 50 MiB, 5387 hits, 10801 requests, 0.499 recent hit rate, 7200 save period in seconds
Chunk Cache            : entries 6164, size 249.5 MiB, capacity 480 MiB, 34840 misses, 177139 requests, 0.803 recent hit rate, 121.979 microseconds miss latency
Percent Repaired       : 0.0%
Token                  : (invoke with -T/--tokens to see all 8 tokens)

使用的堆内存和分配地图,我所看到的JConsole的。但对于非堆内存,在JConsole的它显示了188MB,而从信息的命令,它显示277mb,为什么会出现不匹配?

memory cassandra jvm
1个回答
0
投票

通过nodetool所示Non-Heap Memory在JConsole中和Off Heap Memory是完全不同的东西。

  1. 非堆内存在JConsole中是JVM非堆内存池的总和。 JVM通过MemoryPoolMXBean出口该信息。作为JDK 8的,这些池包括: 元空间 压缩类空间 代码缓存

因此,非堆池显示了JVM所使用的内存类的元数据和编译代码。

  1. Nodetool从Cassandra的柱族指标下车堆内存的统计信息。这是布隆过滤器,指数摘要和压缩元数据所有打开的表的总规模。 见nodetool tablestats这个统计的详细分类。
© www.soinside.com 2019 - 2024. All rights reserved.