Back to Zing Documentation Home

Overview Zing Memory Management Processes

This section provides an overview of ZVM memory management processes. It covers the following topics:

ZVM's Garbage Collector

The ZVM's Garbage Collector is an updated generational form of the Azul Pauseless Garbage Collection Algorithm and is the only collector of Zing®. The ZVM's Garbage Collector differentiates itself from other generational garbage collectors by supporting simultaneous – generational concurrency: the different generations are collected using concurrent (non stop-the-world) mechanisms that can be simultaneously and independently active.

See Garbage Collection Options for specific configuration information.

Zing Memory Allocation

The Azul Zing platform uses the ZVM to run Java applications, similar to a typical JVM running a Java application. The significant difference is how memory is handled. Zing uses the ZST for managing the memory of three components: Contingency memory, Pause Prevention memory, and the memory used for the ZVM's Garbage Collector.

Using Zing with the ZVM's Garbage Collector and Contingency memory means that your Java application is no longer limited to the maximum heap size specified on the Java command line when you started your Java application. As an additional resource, ZVM's Garbage Collector might temporarily use Pause Prevention memory to prevent pauses that are caused by lack of available clean pages.

See Understanding Zing Memory Use for additional information about how the memory resource is used and assigned in a Zing environment.

Adjust the memory you configure to ensure you have sufficient memory to support ZVM instances:

  • Java heap use
  • Reserved memory
Note

Using Azul technology, Java Application Execution uses all available memory without consequences common to tasks such as garbage collection and heap memory compaction. With the Zing platform you can allocate 100 GBs of memory to easily and effectively enhance your enterprise production workloads.

Compatibility with HotSpot VM Command Line Options

The ZVM recognizes the standard and non-standard command line options for the HotSpot VM that is a core component of Java Platform, Standard Edition (Java SE) 6. See the HotSpot VM Options section, in the Oracle developer site for detailed descriptions of the HotSpot VM command line options.

  • HotSpot command line options unsupported by ZVM

If the ZVM detects a HotSpot VM native command line option that it does not support, its response can be set with the following option:

-Xnativevmflags:[ignore|error|warn]

The default option is ignore.

If -Xnativevmflags:error is specified and the ZVM detects an option that it does not support, it does not launch and generates the following type of message:

HotSpot™ 64-Bit Tiered VM error: Unsupported native VM option ‘+UseParNewGC’

  • ZVM commands not implemented by HotSpot

For command line options that are not implemented by the HotSpot VM (including options specific to the ZVM), the response is determined by the following option:

–Xflags:[ignore|error|warn]

The default setting is error.

The error setting ensures that unrecognized options are highlighted when the ZVM is used. For example, if the incorrectly formatted option –XXMaxPermS=128m is detected, the ZVM does not launch and generates the message:

HotSpot ™ 64-Bit Tiered VM error: Unrecognized VM option ‘MaxPermS=128m’

  • HotSpot or Open JDK  XX:+UseLargePages

If you are running Oracle HotSpot or OpenJDK and using XX:+UseLargePages, you must choose one of the following options to run Zing:

  • Disable the hugepages facility on your Linux system when you are running Zing.
  • Ensure there is sufficient memory allocated to each: Zing, hugepages, and Linux memory.

 


© Azul Systems, Inc. 2020 All rights reserved.

Privacy Policy | Legal | Terms of Use