Информация о nodetool и несоответствие памяти Java - PullRequest
0 голосов
/ 08 февраля 2019

В 6-узловом кластере кассандры размер кучи настроен как 31g.Когда я запускаю информацию по 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 он показывает 188 МБ, тогда как из команды info он показывает 277 МБ, почему существует несоответствие?

1 Ответ

0 голосов
/ 09 февраля 2019

Non-Heap Memory в JConsole и Off Heap Memory, показанные nodetool, - это совершенно разные вещи.

  1. Память без кучи в JConsole - это сумма пулов памяти без кучи JVM.JVM экспортирует эту информацию через MemoryPoolMXBean.Начиная с JDK 8, эти пулы включают в себя:

    • Метасоль
    • Сжатое пространство классов
    • Кэш кода

Итак, пулы без кучи показывают, сколько памяти JVM использует для метаданных класса и скомпилированного кода.

Nodetool получает данные из памяти кучи из метрик семейства колонок Кассандры.Это общий размер фильтров Блума, итоговых индексов и метаданных сжатия для всех открытых таблиц.
Подробную разбивку этой статистики см. nodetool tablestats.
...