在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,为什么会出现不匹配?
通过nodetool所示Non-Heap Memory
在JConsole中和Off Heap Memory
是完全不同的东西。
MemoryPoolMXBean
出口该信息。作为JDK 8的,这些池包括:
元空间
压缩类空间
代码缓存因此,非堆池显示了JVM所使用的内存类的元数据和编译代码。
nodetool tablestats
这个统计的详细分类。