Details
-
Improvement
-
Status: Changes Suggested
-
Normal
-
Resolution: Unresolved
-
None
-
None
-
Operability
-
Low Hanging Fruit
-
All
-
None
-
Description
Nodetool gcstats provides only a brief one line output of historical GC activity with Max, Total, Stdev, etc
% nodetool gcstats Interval (ms) Max GC Elapsed (ms)Total GC Elapsed (ms)Stdev GC Elapsed (ms) GC Reclaimed (MB) Collections Direct Memory Bytes 11979 0 0 NaN 0 0 -1
1. Performance of garbage collection is such an key part of Cassandra performance that it would be helpful to have more complete metrics with gcstats here. The MBean java.lang.GarbageCollector has recent statistic which could be added in events/second for:
- GcThreadCount
- Duration
The current size of eden / survivor / old space and humongous allocations should be shown as well.
The metrics show with jhsdb jmap would be very helpful as well, if they're available.
2. Since physical memory is also a critical part of GC performance, it would be useful to report the following MBeans
cassandra_os_free_memory_bytes | Amount of free physical memory available (as seen by the Cassandra JVM process). |
cassandra_os_free_swap_bytes | Amount of free swap space available (as seen by the Cassandra JVM process). |
cassandra_os_memory_bytes_total | Total physical memory available (as seen by the Cassandra JVM process). |
cassandra_os_swap_bytes_total | Total swap space available (as seen by the Cassandra JVM process). |
or use /proc/meminfo SystemInfo.java already reads /proc/<pid>/limits on Linux systems.
3. Status of memlock
Attachments
Issue Links
- links to