Java Se Subscription Enterprise Performance Pack Users Guide
Java Se Subscription Enterprise Performance Pack Users Guide
Performance Pack
User's Guide
F55926-05
Java SE Subscription Enterprise Performance Pack User's Guide,
F55926-05
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,
transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this is software, software documentation, data (as defined in the Federal Acquisition Regulation), or related
documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S.
Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software,
any programs embedded, installed, or activated on delivered hardware, and modifications of such programs)
and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end
users are "commercial computer software," "commercial computer software documentation," or "limited rights
data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental
regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation
of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated
software, any programs embedded, installed, or activated on delivered hardware, and modifications of such
programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and
limitations specified in the license contained in the applicable contract. The terms governing the U.S.
Government's use of Oracle cloud services are defined by the applicable contract for such services. No other
rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications.
It is not developed or intended for use in any inherently dangerous applications, including applications that
may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you
shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its
safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this
software or hardware in dangerous applications.
Oracle®, Java, MySQL and NetSuite are registered trademarks of Oracle and/or its affiliates. Other names
may be trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are
used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc,
and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered
trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products,
and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly
disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise
set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be
responsible for any loss, costs, or damages incurred due to your access to or use of third-party content,
products, or services, except as set forth in an applicable agreement between you and Oracle.
Contents
Preface
Audience iv
Documentation Accessibility iv
Diversity and Inclusion iv
Related Resources iv
Conventions v
iii
Preface
Preface
Java SE Subscription Enterprise Performance Pack is a runtime that delivers the
performance of the JDK 17 Java Virtual Machine (JVM) to a Java SE 8 runtime.
Audience
This document is intended for users who want or need to continue using Java SE 8,
are running Java SE 8 workloads at scale, and have an Oracle Java SE Subscription
or are running on Oracle Cloud Infrastructure.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at http://www.oracle.com/pls/topic/lookup?
ctx=acc&id=docacc.
Related Resources
For more information, see these Oracle resources:
• Available Collectors in Java Platform, Standard Edition HotSpot Virtual Machine
Garbage Collection Tuning Guide, Release 17
• The java command (JDK 17) and the java command (JDK 8)
iv
Preface
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated with an
action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for which
you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code in
examples, text that appears on the screen, or text that you enter.
v
1
Overview of Java SE Subscription Enterprise
Performance Pack
Java SE Subscription Enterprise Performance Pack is a runtime that delivers the
performance of the JDK 17 Java Virtual Machine (JVM) to a Java SE 8 runtime. For most
situations, you can run Java SE 8 applications unchanged on Enterprise Performance Pack.
Enterprise Performance Pack improves performance and reduces the memory footprint for
Java SE 8 workloads. It's ideal if you want or need to use Java SE 8, and you're running Java
SE 8 workloads at scale. It makes better use of your processors and memory.
Enterprise Performance Pack is for server-side, headless systems (systems that operate
without a graphical user interface or peripheral devices like a keyboard or a mouse) running
64-bit Linux (Intel or ARM); see Oracle JDK 8 and JRE 8 Certified System Configurations for
more information. It's available as part of Oracle Java SE Subscription and Oracle Cloud
Infrastructure.
Note:
Enterprise Performance Pack is a runtime. It doesn't include JavaDoc API
documentation. If you want to develop Java SE 8 applications, use Oracle Java SE
Development Kit 8.
Topics
• Features and Enhancements of Enterprise Performance Pack
• Installing Enterprise Performance Pack
• Configuring and Using Enterprise Performance Pack
1-1
Chapter 1
Installing Enterprise Performance Pack
Note:
Enterprise Performance Pack is available as part of Oracle Java SE
Subscription Java SE subscription and Oracle Cloud Infrastructure. It's
available to customers for download through My Oracle Support (MOS) and
on oracle.com/javadownloads.
$ java -version
java version "1.8.0_345"
Java(TM) SE Runtime Environment (build 1.8.0_345-perf-4711-b06)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.4+1-perf-4711, mixed
mode)
1-2
Chapter 1
Configuring and Using Enterprise Performance Pack
Note:
If you need additional help in using Enterprise Performance Pack such as
assistance for a unique or exceptional use case or situation, contact My Oracle
Support.
Topics
• Choosing a Garbage Collector
• Running Tools and Using Libraries on Enterprise Performance Pack
• Other Enterprise Performance Pack Differences
1-3
Chapter 1
Configuring and Using Enterprise Performance Pack
See Selecting a Collector in Java Platform, Standard Edition HotSpot Virtual Machine
Garbage Collection Tuning Guide, Release 17 for additional advice about selecting a
garbage collector.
Note:
If you have any issues tuning your garbage collector for Enterprise
Performance Pack, contact My Oracle Support.
1-4
Chapter 1
Configuring and Using Enterprise Performance Pack
Note:
The following JDK 8 libraries behave differently or are not supported on Enterprise
Performance Pack:
Table 1-3 Libraries That Behave Differently or Are Not Supported on Enterprise
Performance Pack
Note:
AWT contains two
methods that
indicate whether the
environment is
headless:
GraphicsEnviro
nment.isHeadle
ss() and
GraphicsEnviro
nment.isHeadle
ssInstance().
Some AWT methods
throw a
HeadlessExcept
ion if the
environment is
headless.
GUI libraries such as JavaFX and Swing Because Enterprise Performance Pack is for
headless systems, GUI libraries aren't supported.
Note:
If you need additional help in running tools and using libraries on Enterprise
Performance Pack, contact My Oracle Support.
1-5
Chapter 1
Configuring and Using Enterprise Performance Pack
Exception Messages
Exception messages that Enterprise Performance Pack prints may be different than
those of JDK 8.
Version Strings
The format of Enterprise Performance Pack version strings is different; see Enterprise
Performance Pack Version Strings.
Commercial Features
Enterprise Performance Pack doesn't support the following Java SE 8 commercial
features:
• Resource Management
• Cooperative Memory Management
Note:
Although Application Class Data Sharing (AppCDS) is a commercial feature
in JDK 8, in Enterprise Performance Pack, AppCDS is available as a regular
feature.
Consequently, when you specify one of the following command-line options, Enterprise
Performance Pack prints a warning message that it's ignored:
• MemoryRestriction
• ResourceManagement
• ResourceManagementSampleInterval
You cannot archive classes from the module path; the module system is not part of
JDK 8. In addition, you cannot create a dynamic CDS archive file.
1-6
2
Changes to JVM Runtime Options
Enterprise Performance Pack includes several runtime options from JDK 17. However, some
options from JDK 8 are not available in Enterprise Performance Pack.
Note:
The JDK 8 option -XX:-UseBiasedLocking is ignored in Enterprise Performance
Pack.
Topics
• Options Added to Enterprise Performance Pack
• Options Removed from Enterprise Performance Pack
AllocateHeapAt
AsyncLogBufferSize
C1MaxInlineSize
C1MaxTrivialSize
CompactStrings
CompileThresholdScaling
G1UseAdaptiveIHOP
LoopStripMiningIter
LoopStripMiningIterShortLoop
MinHeapSize
NonNMethodCodeHeapSize
NonProfiledCodeHeapSize
PrintFlagsRanges
ProfiledCodeHeapSize
SegmentedCodeCache
SharedArchiveConfigFile
SharedArchiveFile
ShrinkHeapInSteps
StartAggressiveSweepingAt
UseBASE64Intrinsics
UseCMoveUnconditionally
UseDynamicNumberOfCompilerThreads
UseFMA
UseZGC
ZAllocationSpikeTolerance
2-1
Chapter 2
Options Removed from Enterprise Performance Pack
ZCollectionInterval
ZFragmentationLimit
ZProactive
ZUncommit
ZUncommitDelay
Note:
The following runtime options are not available in Enterprise Performance
Pack but are available in Java SE 8. See the java command in the JDK 8
documentation for more information about these options:
AggressiveOpts
CMSClassUnloadingEnabled
CMSExpAvgFactor
CMSIncrementalDutyCycle
CMSIncrementalDutyCycleMin
CMSIncrementalMode
CMSIncrementalOffset
CMSIncrementalPacing
CMSIncrementalSafetyFactor
CMSInitiatingOccupancyFraction
CMSScavengeBeforeRemark
CMSTriggerRatio
CodeCacheMinimumFreeSpace
PrintAdaptiveSizePolicy
PrintGCApplicationConcurrentTime
PrintGCApplicationStoppedTime
PrintGCDateStamps
PrintGCTaskTimeStamps
PrintGCTimeStamps
PrintStringDeduplicationStatistics
PrintTenuringDistribution
UseCMSInitiatingOccupancyOnly
UseConcMarkSweepGC
UseParNewGC
UseParallelOldGC
2-2
3
Printing JVM Information
Enterprise Performance Pack uses Unified JVM Logging, which replaces JDK 8 options that
print details about the JVM with -Xlog options.
The following table lists JDK 8 options and the -Xlog configurations that replace them on
Enterprise Performance Pack:
3-1
Chapter 3
Note:
Other flags that print information not related to the garbage collector have
been mapped to or replaced by an equivalent -Xlog configuration. See
Enable Logging with the JVM Unified Logging Framework in the JDK 17
documentation for the java tool for more information.
3-2