JVM server options reference

This page provides a reference of all supported JVM server options properties that you can configure in the jvm-server.options and jvm11-server.options files.

For information on how to set these properties, see Set system properties during startup.

HCD-specific system properties

This section lists the HCD-specific system properties.

Startup and configuration properties

  • cassandra.available_processors (integer): Number of processors available to HCD

  • cassandra.config (string): Directory location of the cassandra.yaml file

  • cassandra.initial_token (string): Initial partitioner token for first-time node startup

  • cassandra.join_ring (boolean): Set to false to start HCD without joining the cluster

  • cassandra.load_ring_state (boolean): Set to false to clear the gossip state on restart

  • cassandra.metricsReporterConfigFile (string): Enable pluggable metrics reporter

  • cassandra.native_transport_port (integer): Port for CQL native transport. Default: 9042.

  • cassandra.partitioner (string): Override the partitioner. Values: org.apache.cassandra.dht.Murmur3Partitioner (default), org.apache.cassandra.dht.RandomPartitioner, org.apache.cassandra.dht.ByteOrderedPartitioner. Default: org.apache.cassandra.dht.Murmur3Partitioner.

  • cassandra.replace_address (string): Replace a dead node with specified address

  • cassandra.replayList (string): Restore specific tables from archived commit log

  • cassandra.ring_delay_ms (integer): Override RING_DELAY. Default: 30000ms.

  • cassandra.ssl_storage_port (integer): SSL port for encrypted communication. Default: 7001.

  • cassandra.storage_port (integer): Port for inter-node communication. Default: 7000.

  • cassandra.triggers_dir (string): Default location for trigger JARs. Default: conf/triggers.

  • cassandra.write_survey (boolean): Enable write survey mode for testing

Security and authentication properties

Properties related to security and authentication features.

  • cassandra.disable_auth_caches_remote_configuration (boolean): Set to true to disable JMX configuration of auth caches

  • cassandra.force_default_indexing_page_size (boolean): Disable dynamic page size calculation

  • cassandra.maxHintTTL (integer): Upper bound on hint lifetime below gc_grace_seconds

Expiration and date properties

This section lists the properties that control how HCD handles data expiration and date-related operations.

  • cassandra.expiration_date_overflow_policy (string): Handle TTL exceeding max expiration date. Values: REJECT (default), CAP, CAP_NOWARN.

JMX properties

This section lists the properties for configuring Java Management Extensions (JMX) monitoring and management.

  • cassandra.jmx.local.port (integer): Local JMX port

  • cassandra.jmx.remote.port (integer): Remote JMX port

  • cassandra.jmx.remote.login.config (string): JAAS login configuration

  • cassandra.jmx.authorizer (string): JMX authorization proxy

Debug and monitoring properties

This section lists the properties for debugging and monitoring HCD behavior.

  • cassandra.printHeapHistogramOnOutOfMemoryError (boolean): Print heap histogram on out of memory error

  • cassandra.print_heap_histogram (boolean): Print heap histogram

Standard JVM properties

This section lists the standard JVM properties that you can configure in the JVM options files. These properties control various aspects of the JVM behavior, including memory management, garbage collection, performance tuning, and debugging.

Memory management

Properties that control JVM memory allocation and management.

  • -Xms (string): Initial heap size

  • -Xmx (string): Maximum heap size

  • -Xmn (string): Young generation size

  • -Xss (string): Per-thread stack size. Default: 256k.

  • -XX:MaxDirectMemorySize (string): Maximum direct memory size

Garbage collection

This section lists the properties for configuring the G1 garbage collector, which is the default GC for HCD.

  • -XX:+UseG1GC (boolean): Use G1 garbage collector

  • -XX:+ParallelRefProcEnabled (boolean): Enable parallel reference processing

  • -XX:MaxTenuringThreshold (integer): Maximum tenuring threshold. Default: 1.

  • -XX:G1HeapRegionSize (string): G1 heap region size. Default: 16m.

  • -XX:G1RSetUpdatingPauseTimePercent (integer): G1 remembered set updating pause time. Default: 5.

  • -XX:MaxGCPauseMillis (integer): Maximum GC pause time. Default: 300ms for Java 11.

  • -XX:InitiatingHeapOccupancyPercent (integer): Heap occupancy threshold for GC. Default: 70.

  • -XX:ParallelGCThreads (integer): Number of parallel GC threads

  • -XX:ConcGCThreads (integer): Number of concurrent GC threads

CMS garbage collection (alternative, deprecated)

This section lists the properties for configuring the Concurrent Mark Sweep (CMS) garbage collector as an alternative to G1GC.

  • -XX:+UseConcMarkSweepGC (boolean): Use CMS garbage collector

  • -XX:+CMSParallelRemarkEnabled (boolean): Enable parallel remark

  • -XX:SurvivorRatio (integer): Survivor ratio. Default: 8.

  • -XX:CMSInitiatingOccupancyFraction (integer): CMS initiating occupancy fraction. Default: 75.

  • -XX:+UseCMSInitiatingOccupancyOnly (boolean): Use only occupancy fraction for CMS initiation

  • -XX:CMSWaitDuration (integer): CMS wait duration. Default: 10000.

  • -XX:+CMSParallelInitialMarkEnabled (boolean): Enable parallel initial mark

  • -XX:+CMSEdenChunksRecordAlways (boolean): Always record eden chunks

  • -XX:+CMSClassUnloadingEnabled (boolean): Enable CMS class unloading

  • -XX:+UseCondCardMark (boolean): Use conditional card marking (64-bit only)

Thread and performance

  • -XX:+UseThreadPriorities (boolean): Enable thread priorities

  • -XX:+UseTLAB (boolean): Enable thread-local allocation blocks

  • -XX:+ResizeTLAB (boolean): Allow automatic TLAB resizing

  • -XX:+UseNUMA (boolean): Enable NUMA support

  • -XX:+AlwaysPreTouch (boolean): Pre-touch all memory on startup

  • -XX:+PerfDisableSharedMem (boolean): Disable shared memory for performance

Debug and profiling

  • -ea (boolean): Enable assertions

  • -da:net.openhft…​ (boolean): Disable assertions for net.openhft

  • -XX:+HeapDumpOnOutOfMemoryError (boolean): Create heap dump on out of memory error

  • -XX:HeapDumpPath (string): Path for heap dumps

  • -XX:+ExitOnOutOfMemoryError (boolean): Exit on out of memory error

  • -XX:+CrashOnOutOfMemoryError (boolean): Crash on out of memory error

  • -XX:OnOutOfMemoryError (string): Command to run on out of memory error

  • -XX:+UnlockCommercialFeatures (boolean): Unlock commercial features

  • -XX:+FlightRecorder (boolean): Enable flight recorder

  • -agentlib:jdwp (string): Enable remote debugging

  • -XX:+UnlockDiagnosticVMOptions (boolean): Unlock diagnostic VM options

  • -XX:+LogCompilation (boolean): Log method compilation

GC logging (Java 11+)

  • -Xlog:gc (string): GC logging configuration

  • -Xlog:heap* (string): Heap logging

  • -Xlog:age* (string): Age logging

  • -Xlog:safepoint (string): Safepoint logging

  • -Xlog:promotion* (string): Promotion logging

Network and I/O

  • -Djava.net.preferIPv4Stack (boolean): Prefer IPv4 network interfaces

  • -Djava.library.path (string): Native library path for SIGAR

JMX properties

  • -Dcom.sun.management.jmxremote.port (integer): JMX remote port. Default: 7199.

  • -Dcom.sun.management.jmxremote.authenticate (boolean): Enable JMX authentication

  • -Dcom.sun.management.jmxremote.ssl (boolean): Enable JMX SSL

  • -Dcom.sun.management.jmxremote.ssl.need.client.auth (boolean): Require client auth for JMX SSL

  • -Dcom.sun.management.jmxremote.ssl.enabled.protocols (string): JMX SSL enabled protocols

  • -Dcom.sun.management.jmxremote.ssl.enabled.cipher.suites (string): JMX SSL cipher suites

  • -Dcom.sun.management.jmxremote.rmi.port (integer): JMX RMI port

  • -Dcom.sun.management.jmxremote.password.file (string): JMX password file

  • -Dcom.sun.management.jmxremote.access.file (string): JMX access file

  • -Djava.rmi.server.hostname (string): RMI server hostname

SSL/TLS properties

  • -Djavax.net.ssl.keyStore (string): SSL keystore path

  • -Djavax.net.ssl.keyStorePassword (string): SSL keystore password

  • -Djavax.net.ssl.trustStore (string): SSL truststore path

  • -Djavax.net.ssl.trustStorePassword (string): SSL truststore password

Netty properties

  • -Dio.netty.tryReflectionSetAccessible (boolean): Enable Netty reflection access.

  • -Dio.netty.allocator.useCacheForAllThreads (boolean): Use cache for all threads

  • -Dio.netty.allocator.maxOrder (integer): Netty allocator max order. Default: 11.

Java module system (JPMS) properties

  • -Djdk.attach.allowAttachSelf (boolean): Allow self-attachment

  • --add-exports (string): Export internal modules

  • --add-opens (string): Open internal modules

Security properties

  • -Djava.security.auth.login.config (string): JAAS configuration file

Other properties

  • -Dmx4jaddress (string): MX4J address

  • -Dmx4jport (integer): MX4J port

  • -Djna.tmpdir (string): JNA temporary directory

  • -Dcassandra.boot_without_jna (boolean): Boot without JNA

  • -XX:CompileCommand (string): JIT compiler commands

  • -XX:CompileCommandFile (string): JIT compiler command file

Environment variables

This section lists the environment variables you can set to configure the HCD environment and JVM behavior.

  • CASSANDRA_LOG_DIR (string): Log directory

  • CASSANDRA_HEAPDUMP_DIR (string): Heap dump directory

  • CASSANDRA_CONF (string): Configuration directory

  • CASSANDRA_HOME (string): Installation directory

  • LOCAL_JMX (boolean): Local JMX setting

  • MAX_HEAP_SIZE (string): Maximum heap size

  • HEAP_NEWSIZE (string): Initial young generation size

  • MALLOC_ARENA_MAX (integer): Maximum number of memory allocation arenas

  • JVM_EXTRA_OPTS (string): Additional JVM options

  • USE_MGMT_API (boolean): Use management API

  • MAAC_PATH (string): Management API agent path

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2025 DataStax, an IBM Company | Privacy policy | Terms of use | Manage Privacy Choices

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com