diff --git a/docs/cmdline_specifying.md b/docs/cmdline_specifying.md index 2bb7d5830a..176df71999 100644 --- a/docs/cmdline_specifying.md +++ b/docs/cmdline_specifying.md @@ -45,7 +45,6 @@ Use single or double quotation marks for command-line options only when explicit The sequence of the Java options on the command line defines which options take precedence during startup. Rightmost options have precedence over leftmost options. In the following example, the `-Xjit` option takes precedence: - :::java java -Xint -Xjit myClass @@ -81,31 +80,26 @@ At startup, the list of VM arguments is constructed in the following order, with - On Windows™ systems: - :::java set IBM_NOSIGHANDLER= - - On AIX®, Linux®, and z/OS® systems: + - On AIX®, Linux®, OS X®, and z/OS® systems: - :::java export IBM_NOSIGHANDLER= 4. The `OPENJ9_JAVA_OPTIONS` environment variable. You can set command-line options using this environment variable. The options that you specify with this environment variable are added to the command line when a VM starts in that environment. The environment variable can contain multiple blank-delimited argument strings, but must not contain comments. For example: - On Windows systems: - :::java set OPENJ9_JAVA_OPTIONS="-Dmysysprop1=tcpip -Dmysysprop2=wait -Xdisablejavadump" - - On AIX, Linux, and z/OS systems: + - On AIX, Linux, OS X, and z/OS systems: - :::java export OPENJ9_JAVA_OPTIONS="-Dmysysprop1=tcpip -Dmysysprop2=wait -Xdisablejavadump" **Note:** The environment variable `JAVA_TOOLS_OPTIONS` is equivalent to `OPENJ9_JAVA_OPTIONS` and is available for compatibility with JVMTI. The equivalent `IBM_JAVA_OPTIONS` environment variable is deprecated and will be removed in a future release. 5. Options that are specified on the command line. For example: - :::java java -Dmysysprop1=tcpip -Dmysysprop2=wait -Xdisablejavadump MyJavaClass The Java launcher adds some automatically generated arguments to this list, such as the names of the main class. @@ -114,7 +108,6 @@ You can also use the `-Xoptionsfile` parameter to specify VM options. This param To troubleshoot startup problems, you can check which options are used by the OpenJ9 VM. Append the following command-line option, and inspect the Java core file that is generated: - :::java -Xdump:java:events=vmstart Here is an extract from a Java core file that shows the options that are used: diff --git a/docs/dcomibmtoolsattachenable.md b/docs/dcomibmtoolsattachenable.md index 6c40c00492..6ea8046ed5 100644 --- a/docs/dcomibmtoolsattachenable.md +++ b/docs/dcomibmtoolsattachenable.md @@ -30,7 +30,7 @@ Enable the Attach API for this application. -Dcom.ibm.tools.attach.enable=[yes|no] -On AIX®, Linux®, and Windows™ systems, the following default applies: +On AIX®, Linux®, OS X®, and Windows™ systems, the following default applies: | Value | Effect | Default | |--------------|---------|:----------------------------------------------------------------------------------:| diff --git a/docs/env_var.md b/docs/env_var.md index d47d11b332..8b835bcb25 100644 --- a/docs/env_var.md +++ b/docs/env_var.md @@ -33,27 +33,27 @@ Although the OpenJ9 virtual machine (VM) recognizes many environment variables, To show the current environment, run: - `set` (Windows™) -- `env` (AIX®, Linux®, and macOS®) +- `env` (AIX®, Linux®, and OS X®) - `set` (z/OS®) To show a particular environment variable, run: - `echo %ENVNAME%` (Windows) -- `echo $ENVNAME` (AIX, Linux, macOS, and z/OS) +- `echo $ENVNAME` (AIX, Linux, OS X, and z/OS) -Use values exactly as shown in the documentation. The names of environment variables are case-sensitive in AIX, Linux, macOS, and z/OS. +Use values exactly as shown in the documentation. The names of environment variables are case-sensitive in AIX, Linux, OS X, and z/OS. To set the environment variable **LOGIN\_NAME** to *Fred*, run: - `set LOGIN_NAME=Fred` (Windows) -- `export LOGIN_NAME=Fred` (AIX/Linux: ksh or bash shells) -- `setenv LOGIN_NAME Fred` (macOS or csh shells) +- `export LOGIN_NAME=Fred` (AIX/Linux/OS X: ksh or bash shells) +- `setenv LOGIN_NAME Fred` (csh shells) These variables are set only for the current shell or command-line session. If you are setting multiple values for an environment variable in a list: -- On AIX, Linux, macOS, and z/OS the separator is typically a colon (:). +- On AIX, Linux, OS X, and z/OS the separator is typically a colon (:). - On Windows the separator is typically a semicolon (;). ## General options @@ -134,7 +134,7 @@ Setting `JAVA_DUMP_OPTS` affects only those conditions that you specify. Actions When setting the `JAVA_DUMP_OPTS` environment variable, the mapping of operating system signals to the "condition" is shown in the following table: -| Condition | z/OS | Windows | Linux and AIX | +| Condition | z/OS | Windows | Linux, OS X, and AIX | |------------------|-----------------------------------------------------------|-------------------------|---------------------------------------------------| | **EXCEPTION** | SIGTRAP, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGSYS, SIGXFSV | SIGILL, SIGSEGV, SIGFPE | SIGTRAP, SIGILL, SIGSEGV, SIGFPE, SIGBUS, SIGXFSV | | **INTERRUPT** | SIGINT, SIGTERM, SIGHUP | SIGINT, SIGTERM | SIGINT, SIGTERM, SIGHUP | @@ -176,7 +176,7 @@ The following table lists other environment variables that can be set for diagno | Environment variable | Usage Instructions | |-----------------------------------------------|-----------------------------------------------------------------------------------------------------------------| -|`IBM_COREDIR=` | Set this variable to specify an alternative location for system dumps, JIT dumps, and snap trace. On z/OS, `_CEE_DMPTARG` is used instead for snap trace, and transaction dumps are written to TSO according to `JAVA_DUMP_TDUMP_PATTERN`. On Linux, the dump is written to the directory that is specified directory by the operating system before being moved to the specified location.| +|`IBM_COREDIR=` | Set this variable to specify an alternative location for system dumps, JIT dumps, and snap trace. On z/OS, `_CEE_DMPTARG` is used instead for snap trace, and transaction dumps are written to TSO according to `JAVA_DUMP_TDUMP_PATTERN`. On Linux and OS X, the dump is written to the directory that is specified directory by the operating system before being moved to the specified location.| |`IBM_JAVA_ABEND_ON_FAILURE=Y` (z/OS only) | This setting tells the Java launcher to mark the Task Control Block (TCB) with an abend code if the OpenJ9 VM fails to load or is terminated by an uncaught exception. By default, the Java launcher does not mark the TCB.| |`JAVA_DUMP_TDUMP_PATTERN=` (z/OS only) | The specified `` is passed to IEATDUMP to use as the data/set name for the Transaction Dump. The default `` is `%uid.JVM.TDUMP.%job.D%y%m%d.T%H%M%S` (31-bit) or `%uid.JVM.%job.D%y%m%d.T%H%M%S.X&DS` (64-bit), where `%uid` is found from the C code fragment shown in **Notes**.| |`JAVA_THREAD_MODEL=` | `` can be defined as one of the following values: *NATIVE* (all threads are created as `_MEDIUM_WEIGHT`), *HEAVY* (all threads are created as `_HEAVY_WEIGHT`), *MEDIUM* (same as *NATIVE*), or *NULL*. The default is *NATIVE*. | diff --git a/docs/messages_intro.md b/docs/messages_intro.md index 5acf25a5a8..82ee545796 100644 --- a/docs/messages_intro.md +++ b/docs/messages_intro.md @@ -91,6 +91,10 @@ For more information about AIX logging, see: [Error-logging overview](http://www On Linux®, messages are logged by the **syslog** daemon. To find where messages are logged, check the syslog configuration file. +### Finding OS X messages + +On OS X®, messages are logged by the **syslog** daemon. However, on Sierra and High Sierra, syslog does not work. If `/var/log/system.log` is not available, `Console.app` can be used instead. + ### Finding Windows messages On Windows™, messages are logged in the application events section of the event viewer. diff --git a/docs/openj9_defaults.md b/docs/openj9_defaults.md index e3513f35d7..3ffda42f86 100644 --- a/docs/openj9_defaults.md +++ b/docs/openj9_defaults.md @@ -59,7 +59,7 @@ The last 2 columns show whether the default setting can be changed by a command- **Notes:** -1. On AIX®, Linux®, macOS®, and Windows™: Enabled for **-Xmx** values ≤ 57 GB, otherwise disabled.

+1. On AIX®, Linux®, OS X®, and Windows™: Enabled for **-Xmx** values ≤ 57 GB, otherwise disabled.

On z/OS®: Enabled for **-Xmx** values ≤ 25 GB, otherwise disabled. With [APAR OA49416](http://www.ibm.com/support/docview.wss?uid=isg1OA49416), enabled for **-Xmx** values ≤ 57 GB. @@ -68,7 +68,7 @@ The last 2 columns show whether the default setting can be changed by a command- -|VM setting |AIX |Linux |macOS |Windows |z/OS | Command line | Env. variable | +|VM setting |AIX |Linux |OS X |Windows |z/OS | Command line | Env. variable | |--------------------------------------------------------------|----------|---------|----------|-----------------|----------|------------------------|------------------------| |Default locale |None |None |None |N/A |None | no |yes| |Time to wait before starting plug-in |N/A |Zero |N/A |N/A |N/A | no |yes| diff --git a/docs/openj9_directories.md b/docs/openj9_directories.md index 2d6abb1d1c..29694c7ca5 100644 --- a/docs/openj9_directories.md +++ b/docs/openj9_directories.md @@ -28,10 +28,11 @@ The following tables provide a quick reference to the OpenJ9 VM directory locati pages refer to the VM directory location as ``. -| Operating system | Java 8 | Java 10 and later | -|-----------------------------|-----------------------------------------|-------------------------------------------| +| Operating system | Java 8 | Java 10 and later | +|------------------|-----------------------------------------|--------------------------------------------| | AIX® | `/jre/lib/ppc[64]/default` | `/` | -| Linux® | `/jre/lib//default` | `/` | +| Linux® | `/jre/lib//default` | `/` | +| OS X® | `/jre/lib/default` | `/` | | Windows™ | `\jre\bin\default` | `\` | | z/OS® | `/jre/lib/s390[x]/default` | `/` | diff --git a/docs/openj9_support.md b/docs/openj9_support.md index 732f0932a7..252a649856 100644 --- a/docs/openj9_support.md +++ b/docs/openj9_support.md @@ -227,5 +227,5 @@ building OpenJDK 8 on Linux is v4.4.7. However, plans are in place to update the | Linux on POWER LE 64-bit | Ubuntu 16.04 | gcc 7.3 | | Linux on IBM Z 64-bit | Ubuntu 16.04 | gcc 7.3 | | Windows x86 64-bit | Windows Server 2012 R2 | Microsoft Visual Studio 2017 | -| MacOS x86 64-bit | macOS 10.13.5 | xcode/clang 9.4 | +| MacOS x86 64-bit | OS X 10.13.5 | xcode/clang 9.4 | | AIX POWER BE 64-bit | AIX 7.1 TL04 | xlc/C++ 13.1.3 | diff --git a/docs/xcodecache.md b/docs/xcodecache.md index ba7a9e6b92..3ad13204aa 100644 --- a/docs/xcodecache.md +++ b/docs/xcodecache.md @@ -22,7 +22,7 @@ * Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception --> -# -Xcodecache +# -Xcodecache Use this option to tune performance. @@ -33,7 +33,7 @@ This option sets the size of each block of memory that is allocated to store the ## Syntax - -Xcodecache + -Xcodecache : See [Using -X command-line options](x_jvm_commands) for more information about specifying the `` parameter. @@ -41,4 +41,3 @@ This option sets the size of each block of memory that is allocated to store the - diff --git a/docs/xdiagnosticscollector.md b/docs/xdiagnosticscollector.md index 9ada864b3f..4ac3f85fc2 100644 --- a/docs/xdiagnosticscollector.md +++ b/docs/xdiagnosticscollector.md @@ -22,9 +22,15 @@ * Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception --> -# -Xdiagnosticscollector +# -Xdiagnosticscollector -This option is now redundant, and only generates a warning message. Use the [IBM® Support Assistant Data Collector](http://www-01.ibm.com/software/support/isa/#isa-dc-dl) instead. +This option is now redundant and generates only the following warning message: + +``` +JVMJ9VM138W The -Xdiagnosticscollector option is not supported by this JVM. +``` + +Use the [IBM® Support Assistant Data Collector](http://www-01.ibm.com/software/support/isa/#isa-dc-dl) instead. ## Syntax @@ -34,4 +40,3 @@ This option is now redundant, and only generates a warning message. Use the [IBM - diff --git a/docs/xdump.md b/docs/xdump.md index 7faf4870fe..e42d786a57 100644 --- a/docs/xdump.md +++ b/docs/xdump.md @@ -277,7 +277,7 @@ The following table shows the events that are available as dump agent triggers: | Event | Triggered when.... | Filters on .... | | ----------------|-----------------------------------------------------------------------------|----------------------------------------------------------------| | **gpf** | A General Protection Fault (GPF) occurs. | Not applicable | -| **user** | The VM receives the SIGQUIT (Linux, AIX®, z/OS) or SIGBREAK (Windows™) signal from the operating system.| Not applicable | +| **user** | The VM receives the SIGQUIT (Linux, OS X®, AIX®, z/OS) or SIGBREAK (Windows™) signal from the operating system.| Not applicable | | **abort** | The VM receives the SIGABRT signal from the operating system. | Not applicable | | **vmstart** | The virtual machine is started. | Not applicable | | **vmstop** | The virtual machine stops. | Exit code; for example, `filter=#129..#192#-42#255` | @@ -535,7 +535,7 @@ You can filter the **slow** event to change the time threshold from the default ``` #### allocation event -**(Linux and Windows only)** +**(Linux, OS X, and Windows only)** You must filter the **allocation** event to specify the size of objects that cause a trigger. You can set the filter size from zero up to the maximum value of a 32-bit pointer on 32-bit platforms, or the maximum value of a 64-bit pointer on 64-bit platforms. Setting the lower filter value to zero triggers a dump on all allocations. @@ -725,7 +725,7 @@ In general, the default request options are sufficient. Dump output is written to different files, depending on the type of dump and the platform. File names include a time stamp. -| Dump type | File name (AIX, Linux, Windows) | File name (z/OS) | +| Dump type | File name (AIX, Linux, OS X, Windows) | File name (z/OS) | |----------------|-----------------------------------------------------------------|----------------------------------------------------------------------------------------------------------| | System dump | core.%Y%m%d.%H%M%S.%pid.dmp | %uid.JVM.TDUMP.%job.D%Y%m%d.T%H%M%S (31-bit), %uid.JVM.%job.D%y%m%d.T%H%M%S.X&DS (64-bit) See **Note** | | Java dump | javacore.%Y%m%d.%H%M%S.%pid.%seq.txt | javacore.%Y%m%d.%H%M%S.%pid.%seq.txt | diff --git a/docs/xgc.md b/docs/xgc.md index fd22145ad7..5d8cad0cbe 100644 --- a/docs/xgc.md +++ b/docs/xgc.md @@ -41,7 +41,7 @@ Options that change the behavior of the Garbage Collector (GC). | [`minContractPercent` ](#mincontractpercent ) | Sets the minimum percentage of the heap that can be contracted at any given time. | | [`maxContractPercent` ](#maxcontractpercent ) | Sets the maximum percentage of the heap that can be contracted at any given time. | | [`overrideHiresTimerCheck` ](#overridehirestimercheck ) | Overrides GC operating system checks for timer resolution. | -| [`preferredHeapBase` ](#preferredheapbase ) | Sets a memory range for the Java™ heap. (AIX®, Linux®, and Windows™ only) | +| [`preferredHeapBase` ](#preferredheapbase ) | Sets a memory range for the Java™ heap. (AIX®, Linux®, OS X®, and Windows™ only) | | [`scvNoAdaptiveTenure` ](#scvnoadaptivetenure ) | Turns off the adaptive tenure age in the generational concurrent GC policy. | | [`scvTenureAge` ](#scvtenureage ) | Sets the initial scavenger tenure age in the generational concurrent GC policy. | | [`tlhIncrementSize` ](#tlhincrementsize ) | Sets the size of the thread local heap (TLH) increment | @@ -142,7 +142,7 @@ Options that change the behavior of the Garbage Collector (GC). ### `preferredHeapBase` -**(AIX, Linux, Windows only)** +**(AIX, Linux, OS X, and Windows only)** -Xgc:preferredHeapBase=
@@ -152,8 +152,7 @@ Options that change the behavior of the Garbage Collector (GC). : where, `
` is the base memory address for the heap. Use this option with the `-Xcompressedrefs` option to allocate the heap you specify with the [`-Xmx`](xms.md) option, in a memory range of your choice. If `-Xcompressedrefs` is not specified, this option has no effect. In the following example, the heap is located at the 4 GB mark, leaving the lowest 4 GB of address space for use by other processes. - :::java - -Xgc:preferredHeapBase=0x100000000 + -Xgc:preferredHeapBase=0x100000000 If the heap cannot be allocated in a contiguous block at the `preferredHeapBase` address you specified, an error occurs detailing a Garbage Collection (GC) allocation failure startup. When the `preferredHeapBase` option is used with the [`-Xlp`](xlp.md) option, the `preferredHeapBase` address must be a multiple of the large page size. If you specify an inaccurate heap base address, the heap is allocated with the default page size. diff --git a/docs/xgcpolicy.md b/docs/xgcpolicy.md index 9eba056fd4..cdef3dd80a 100644 --- a/docs/xgcpolicy.md +++ b/docs/xgcpolicy.md @@ -123,7 +123,7 @@ The following options are ignored when specified with `-Xgcpolicy:balanced`: : The generational concurrent policy (default) uses a concurrent mark phase combined with generational garbage collection to help minimize the time that is spent in any garbage collection pause. This policy is particularly useful for applications with many short-lived objects, such as transactional applications. Pause times can be significantly shorter than with the `optthruput` policy, while still producing good throughput. Heap fragmentation is also reduced. -### `metronome` (AIX®, Linux® only) +### `metronome` (AIX®, Linux® x86 only) -Xgcpolicy:metronome diff --git a/docs/xjit.md b/docs/xjit.md index 30606ebd00..0c6b7c42ee 100644 --- a/docs/xjit.md +++ b/docs/xjit.md @@ -48,7 +48,7 @@ These parameters can be used to modify the behavior of `-Xjit`: | [`count` ](#count ) | Forces compilation of methods on first invocation. | | [`disableRMODE64`](#disablermode64) | Allows the JIT to allocate executable code caches above the 2 GB memory bar. | | [`exclude` ](#exclude ) | Excludes the specified method from compilation. | -| [`` ](#limitfile ) | Compile methods that are listed in the limit file. | +| [`` ](#limitfile ) | Compile methods that are listed in the limit file. | | [`optlevel` ](#optlevel ) | Forces the JIT compiler to compile all methods at a specific optimization level. | | [`verbose` ](#verbose ) | Reports information about the JIT and AOT compiler configuration and method compilation.| | [`vlog` ](#vlog ) | Sends verbose output to a file. | diff --git a/docs/xlp.md b/docs/xlp.md index 294702102f..bfebafa5db 100644 --- a/docs/xlp.md +++ b/docs/xlp.md @@ -26,7 +26,9 @@ Requests the OpenJ9 VM to allocate the Java™ object heap and JIT code cache memory with large pages. -**Note:** This option is deprecated in all versions later than Java 8. Use the [`-Xlp:codecache`](xlpcodecache.md) and [`-Xlp:objectheap`](xlpobjectheap.md) options instead. + **Note:** This option is deprecated in all versions later than Java 8. Use the [`-Xlp:codecache`](xlpcodecache.md) and [`-Xlp:objectheap`](xlpobjectheap.md) options instead. + + **Restriction:** This option does not work on OS X®. If you use the [`-Xgc:preferredHeapBase`](xgc.md#preferredheapbase) option with `-Xlp`, the preferredHeapBase address must be a multiple of the large page size. If you specify an inaccurate heap base address, the heap is allocated with the default page size. diff --git a/docs/xlpcodecache.md b/docs/xlpcodecache.md index dd20421f4a..1d8e7e533a 100644 --- a/docs/xlpcodecache.md +++ b/docs/xlpcodecache.md @@ -32,7 +32,7 @@ To find out the large page sizes available and the current setting, use the `-ve ## Syntax -AIX®, Linux®, and Windows™: +AIX®, Linux®, OS X®, and Windows™: -Xlp:codecache:pagesize= @@ -59,6 +59,10 @@ See [Using -X command-line options](x_jvm_commands.md) for more information abou - Linux on Power Systems™: The code cache page size cannot be controlled by the `-Xlp:codecache:pagesize=` option. Specifying any other page size results in a warning that the page size is not available. The `-verbose:sizes` output reflects the current operating system setting. - On other architectures, the VM uses the default operating system page size. +### OS X + +: The default size for the code cache is 4 K large pages. + ### z/OS : 1 M pageable pages, when available, are the default size for the code cache. diff --git a/docs/xlpobjectheap.md b/docs/xlpobjectheap.md index 332a46a7bf..60c08e3621 100644 --- a/docs/xlpobjectheap.md +++ b/docs/xlpobjectheap.md @@ -31,7 +31,7 @@ To find out the large page sizes available and the current setting, use the `-ve ## Syntax -AIX®, Linux®, and Windows™: +AIX®, Linux®, OS X®, and Windows™: -Xlp:objectheap:pagesize=[,strict|warn] @@ -59,6 +59,8 @@ See [Using -X command-line options](x_jvm_commands.md) for more information abou - Linux on IBM Z®: 1 MB large pages - On other architectures, the VM uses the default operating system page size. +: On OS X, the default page size is 4 K. + ### `strict` | `warn` -Xlp:objectheap:strict diff --git a/docs/xmint.md b/docs/xmint.md index 3882c00da6..d2aa01503f 100644 --- a/docs/xmint.md +++ b/docs/xmint.md @@ -33,7 +33,7 @@ Sets the minimum and maximum proportion of time to spend in the garbage collecti **Restrictions:** - This option applies only to GC policies that include stop-the-world (STW) operations, such as `-Xgcpolicy:optthruput`. -- This option is ignored by the default policy `-Xgcpolicy:gencon`. + ## Syntax diff --git a/docs/xrdbginfo.md b/docs/xrdbginfo.md deleted file mode 100644 index 42057240ca..0000000000 --- a/docs/xrdbginfo.md +++ /dev/null @@ -1,40 +0,0 @@ - - -# -Xrdbginfo - -Loads the remote debug information server with the specified host and port. - -## Syntax - - -Xrdbginfo:: - -## default behavior - -By default, the remote debug information server is disabled. - - - - - diff --git a/docs/xrs.md b/docs/xrs.md index 3ff9cb559c..23ff11fe6e 100644 --- a/docs/xrs.md +++ b/docs/xrs.md @@ -39,8 +39,9 @@ Disabling signal handling in the OpenJ9 VM reduces performance by approximately : If you specify the `sync` parameter: - - **On AIX® systems:** Disables signal handling in the VM for `SIGSEGV`, `SIGFPE`, `SIGBUS`, `SIGILL`, `SIGTRAP`, and `SIGABRT` signals. However, the VM still handles the `SIGQUIT` and `SIGTERM` signals, among others. + - **On AIX®, Linux®, OS X®, and z/OS® systems:** Disables signal handling in the VM for `SIGSEGV`, `SIGFPE`, `SIGBUS`, `SIGILL`, `SIGTRAP`, and `SIGABRT` signals. However, the VM still handles the `SIGQUIT` and `SIGTERM` signals, among others. - **On Windows™ systems:** Hardware exceptions are not handled by the OpenJ9 VM when this option is specified. However, the Windows CTRL\_BREAK\_EVENT signal, triggered by the Ctrl-Break key combination, is still handled by the VM. - - **Linux® systems** always use the `SIGUSR1` signal. + + **Linux and OS X systems** always use the `SIGUSR1` signal. diff --git a/docs/xshareclasses.md b/docs/xshareclasses.md index 85ab4fec83..0f23efc2ab 100644 --- a/docs/xshareclasses.md +++ b/docs/xshareclasses.md @@ -47,7 +47,7 @@ When you specify `-Xshareclasses` without any parameters and without specifying - For 64-bit platforms, the default size is 300 MB, with a "soft" maximum limit for the initial size of the cache (`-Xscmx`) of 64MB, with the following exceptions: - For a persistent cache, if the free disk space is less than 6 GB, the default size is set to 64 MB and an `-Xscmx` size is not set. - - For a non-persistent cache on Linux® systems, the cache size is limited by the maximum amount of memory that can be reserved by a process (`SHMMAX`). If `SHMMAX` is less than 300MB, the default shared cache size is set to equal `SHMMAX`. If `SHMMAX` is greater than 80 MB, `-Xscmx` is set to 64 MB. If `SHMMAX` is less than 80MB an `-Xscmx` size is not set. + - For a non-persistent cache on Linux® or OS X® systems, the cache size is limited by the maximum amount of memory that can be reserved by a process (`SHMMAX`). If `SHMMAX` is less than 300MB, the default shared cache size is set to equal `SHMMAX`. If `SHMMAX` is greater than 80 MB, `-Xscmx` is set to 64 MB. If `SHMMAX` is less than 80MB an `-Xscmx` size is not set. - For other platforms, the default size is 16MB. ## Parameters @@ -103,11 +103,11 @@ When you specify `-Xshareclasses` without any parameters and without specifying - On Windows™ systems, `` is the user's `C:\Documents and Settings\\Local Settings\Application Data\javasharedresources` directory. - On other operating systems, `` is the user's home directory, unless the `groupAccess` parameter is specified, in which case it is `/tmp/javasharedresources`, because some members of the group might not have access to the user's home directory. You must have sufficient permissions in ``. -: On AIX, Linux, and Windows systems, the VM writes persistent cache files directly into the directory specified. Persistent cache files can be safely moved and deleted from the file system. For persistent caches, the directory must not be on an NFS mount. +: On AIX, Linux, OS X, and Windows systems, the VM writes persistent cache files directly into the directory specified. Persistent cache files can be safely moved and deleted from the file system. For persistent caches, the directory must not be on an NFS mount. : Nonpersistent caches are stored in shared memory and have control files that describe the location of the memory. Control files are stored in a `javasharedresources` subdirectory of the `cacheDir` specified. Do not move or delete control files in this directory. The `listAllCaches` utility, the `destroyAll` utility, and the `expire` suboption work only in the scope of a given `cacheDir`. -: On AIX and Linux systems, if you specify the `cacheDir=` option, persistent caches are created with the following permissions (`-rw-r--r--`): +: On AIX, Linux, and OS X systems, if you specify the `cacheDir=` option, persistent caches are created with the following permissions (`-rw-r--r--`): - User: read/write - Group: read (read/write if you also specify `-Xshareclasses:groupAccess`) @@ -120,7 +120,7 @@ When you specify `-Xshareclasses` without any parameters and without specifying ### `cacheDirPerm` -: **(AIX, Linux, z/OS only)** +: **(AIX, Linux, OS X, and z/OS only)** -Xshareclasses:cacheDirPerm= @@ -164,7 +164,7 @@ The option `enableBCI` is enabled by default. However, if you use the `cacheRetr nn-bit shared cache "cachename" as the nn-bit VM cannot verify that the shared memory was created by the VM. -: On AIX and Linux systems: +: On AIX, Linux, and OS X systems: - Non-persistent caches can be destroyed only if all VMs that are using it have shut down and the user has sufficient permissions. @@ -172,7 +172,7 @@ The option `enableBCI` is enabled by default. However, if you use the `cacheRetr ### `destroyAllSnapshots` (Cache utility) -: **(AIX, Linux, z/OS only)** +: **(AIX, Linux, OS X, and z/OS only)** -Xshareclasses:destroyAllSnapshots @@ -180,7 +180,7 @@ The option `enableBCI` is enabled by default. However, if you use the `cacheRetr ### `destroySnapshot` (Cache utility) -: **(AIX, Linux, z/OS only)** +: **(AIX, Linux, OS X, and z/OS only)** -Xshareclasses:destroySnapshot @@ -224,13 +224,13 @@ case, the VM continues without using shared classes. ### `groupAccess` -: **(AIX, Linux, z/OS only)** +: **(AIX, Linux, OS X, and z/OS only)** -Xshareclasses:groupAccess : Sets operating system permissions on a new cache to allow group access to the cache. Group access can be set only when permitted by the operating system `umask` setting. The default is user access only. -: On AIX and Linux systems, if a user creates a cache by specifying the `groupAccess` suboption, other users in the same group must also specify this suboption to be granted access to the same cache. +: On AIX, Linux, and OS X systems, if a user creates a cache by specifying the `groupAccess` suboption, other users in the same group must also specify this suboption to be granted access to the same cache. : In certain situations, warning messages might be generated when the `groupAccess` suboption is used. @@ -276,7 +276,7 @@ case, the VM continues without using shared classes. ### `listAllCaches` (Cache utility) -: **(AIX, Linux, z/OS only)** +: **(AIX, Linux, OS X, and z/OS only)** -Xshareclasses:listAllCaches @@ -288,20 +288,20 @@ case, the VM continues without using shared classes. -Xshareclasses:mprotect=[default|all|none] -: Linux, Windows: +: Linux, Windows, OS X: -Xshareclasses:mprotect=[default|all|partialpagesonstartup|onfind|nopartialpages|none] : where: - - `default`: By default, the memory pages that contain the cache are always protected, unless a specific page is being updated. This protection helps prevent accidental or deliberate corruption to the cache. The cache header is not protected by default because this protection has a performance cost. On Linux and Windows systems, after the startup phase, the Java virtual machine (VM) protects partially filled pages whenever new data is added to the shared class cache in the following sequence: + - `default`: By default, the memory pages that contain the cache are always protected, unless a specific page is being updated. This protection helps prevent accidental or deliberate corruption to the cache. The cache header is not protected by default because this protection has a performance cost. On Linux, OS X, and Windows systems, after the startup phase, the Java virtual machine (VM) protects partially filled pages whenever new data is added to the shared class cache in the following sequence: - The VM changes the memory protection of any partially filled pages to read/write. - The VM adds the data to the cache. - The VM changes the memory protection of any partially filled pages to read only. - `all`: This value ensures that all the cache pages are protected, including the header. See Note. - - `partialpagesonstartup`: This value causes the VM to protect partially filled pages during startup as well as after the startup phase. This value is available only on Linux and Windows systems. - - `onfind`: When this option is specified, the VM protects partially filled pages when it reads new data in the cache that is added by another VM. This option is available only on Linux and Windows systems. - - `nopartialpages`: Use this value to turn off the protection of partially filled pages. This value is available only on Linux and Windows systems. + - `partialpagesonstartup`: This value causes the VM to protect partially filled pages during startup as well as after the startup phase. This value is available only on Linux, OS X, and Windows systems. + - `onfind`: When this option is specified, the VM protects partially filled pages when it reads new data in the cache that is added by another VM. This option is available only on Linux, OS X, and Windows systems. + - `nopartialpages`: Use this value to turn off the protection of partially filled pages. This value is available only on Linux, OS X, and Windows systems. - `none`: Specifying this value disables the page protection. : **Note:** Specifying `all` has a negative impact on performance. You should specify `all` only for problem diagnosis and not for production. Specifying values `partialpagesonstartup` or `onfind` can also have a negative impact on performance when the cache is being populated. There is no further impact when the cache is full or no longer being modified. @@ -320,7 +320,7 @@ case, the VM continues without using shared classes. -Xshareclasses:name= -: Connects to a cache of a given name, creating the cache if it does not exist. This option is also used to indicate the cache that is to be modified by cache utilities; for example, `destroy`. Use the `listAllCaches` utility to show which named caches are currently available. If you do not specify a name, the default name *"sharedcc\_%u"* is used. "%u" in the cache name inserts the current user name. On AIX, Linux, and z/OS systems, you can specify *"%g"* in the cache name to insert the current group name. +: Connects to a cache of a given name, creating the cache if it does not exist. This option is also used to indicate the cache that is to be modified by cache utilities; for example, `destroy`. Use the `listAllCaches` utility to show which named caches are currently available. If you do not specify a name, the default name *"sharedcc\_%u"* is used. "%u" in the cache name inserts the current user name. On AIX, Linux, OS X, and z/OS systems, you can specify *"%g"* in the cache name to insert the current group name. : **Note:** It is good practice to explicitly specify a cache for your application. This avoids the application sharing a cache that is enabled by default or with another application that doesn't set a name, and ensures that the size of your application cache can be set appropriately and that cache space is used exclusively for your application. Note that you cannot change the size of a default cache that already exists by using the [`-Xscmx`](xscmx.md) option, as that option has no effect on a pre-existing cache. See [Class data sharing: Best practices for using `-Xshareclasses`](shrc.md#best-practices-for-using-xshareclasses). @@ -361,7 +361,7 @@ case, the VM continues without using shared classes. -Xshareclasses:nonpersistent -: Uses a nonpersistent cache. The cache is lost when the operating system shuts down. Nonpersistent and persistent caches can have the same name. On Linux and Windows systems, you must always use the `nonpersistent` suboption when you run utilities such as `destroy` on a nonpersistent cache. z/OS supports only nonpersistent caches. +: Uses a nonpersistent cache. The cache is lost when the operating system shuts down. Nonpersistent and persistent caches can have the same name. On Linux, OS X, and Windows systems, you must always use the `nonpersistent` suboption when you run utilities such as `destroy` on a nonpersistent cache. z/OS supports only nonpersistent caches. ### `persistent` @@ -391,7 +391,7 @@ case, the VM continues without using shared classes. : Opens an existing cache with read-only permissions. The Java virtual machine does not create a new cache with this suboption. Opening a cache read-only prevents the VM from making any updates to the cache. If you specify this suboption, the VM can connect to caches that were created by other users or groups without requiring write access. -: On AIX and Linux systems, this access is permitted only if the cache was created by using the [`-Xshareclasses:cacheDir`](#cachedir) option to specify a directory with appropriate permissions. If you do not use the `-Xshareclasses:cacheDir` option, the cache is created with default permissions, which do not permit access by other users or groups. +: On AIX, Linux, and OS X systems, this access is permitted only if the cache was created by using the [`-Xshareclasses:cacheDir`](#cachedir) option to specify a directory with appropriate permissions. If you do not use the `-Xshareclasses:cacheDir` option, the cache is created with default permissions, which do not permit access by other users or groups. : By default, this suboption is not specified. @@ -403,7 +403,7 @@ case, the VM continues without using shared classes. ### `restoreFromSnapshot` (Cache utility) -: **(AIX, Linux, z/OS only)** +: **(AIX, Linux, OS X, and z/OS only)** -Xshareclasses:restoreFromSnapshot @@ -443,7 +443,7 @@ case, the VM continues without using shared classes. ### `snapshotCache` (Cache utility) -: **(AIX, Linux, z/OS only)** +: **(AIX, Linux, OS X, and z/OS only)** -Xshareclasses:snapshotCache @@ -489,12 +489,12 @@ The following examples show how to specify more than one method specification wh Each method specification is defined as follows: - :::java + /[.[()]] If you want to include more than one method specification in a single option, separate the specifications with a comma and enclose all the specifications in {braces}. For example: - :::java + {}[.{}[({})]] -# -XX:\[+|-\]handleSIGXFSZ +# -XX:\[+|-\]HandleSIGXFSZ -**(Linux® only)** +**(AIX®, Linux®, OS X®, and z/OS® only)** This option affects the handling of the operating system signal `SIGXFSZ`. This signal is generated when a process attempts to write to a file that causes the maximum file size `ulimit` to be exceeded. ## Syntax - -XX:[+|-]handleSIGXFSZ + -XX:[+|-]HandleSIGXFSZ | Setting | Effect | Default | |-----------------------|---------|:----------------------------------------------------------------------------------:| -| `-XX:+handleSIGXFSZ ` | Enable | yes | -| `-XX:-handleSIGXFSZ ` | Disable | | +| `-XX:+HandleSIGXFSZ ` | Enable | yes | +| `-XX:-HandleSIGXFSZ ` | Disable | | ## Explanation diff --git a/docs/xxheapdumppath.md b/docs/xxheapdumppath.md index 66f8b54b08..c9ca6c4670 100644 --- a/docs/xxheapdumppath.md +++ b/docs/xxheapdumppath.md @@ -24,11 +24,9 @@ # -XX:HeapDumpPath -**(Linux only)** - This Hotspot option is recognized by OpenJ9 for compatibility, and you can use it as an alias for [`-Xdump:directory=`](xdump/#syntax). -This option sets the directory for all VM dumps including heap dumps, javacores, and system dumps. +This option sets the directory for all VM dumps including heap dumps, Java™ dumps, and system dumps. ## Syntax @@ -36,4 +34,4 @@ This option sets the directory for all VM dumps including heap dumps, javacores, where `` is the directory to which all dump types are written. This directory path is prefixed to the path of all non-absolute dump file names, including the file names for the default dump agents. - \ No newline at end of file + diff --git a/docs/xxlazysymbolresolution.md b/docs/xxlazysymbolresolution.md index 18e7e3fa07..e67a21efad 100644 --- a/docs/xxlazysymbolresolution.md +++ b/docs/xxlazysymbolresolution.md @@ -24,7 +24,7 @@ # -XX:\[+|-\]LazySymbolResolution -**(Linux® only)** +**(Linux® and OS X® only)** This option affects the timing of symbol resolution for functions in user native libraries. @@ -42,7 +42,7 @@ This option affects the timing of symbol resolution for functions in user native Enabling this option forces the VM to delay symbol resolution for each function in a user native library, until the function is called. The `-XX:-LazySymbolResolution` option forces the VM to immediately resolve symbols for all functions in a user native library when the library is loaded. -These options apply only to functions; variable symbols are always resolved immediately when loaded. If you attempt to use these options on an operating system other than Linux, the options are accepted, but ignored. +These options apply only to functions; variable symbols are always resolved immediately when loaded. If you attempt to use these options on an operating system other than Linux or macOS, the options are accepted, but ignored. diff --git a/docs/xxreducecpumonitoroverhead.md b/docs/xxreducecpumonitoroverhead.md index d6b96c037e..cc5a08be71 100644 --- a/docs/xxreducecpumonitoroverhead.md +++ b/docs/xxreducecpumonitoroverhead.md @@ -24,7 +24,7 @@ # -XX:\[+|-\]ReduceCPUMonitorOverhead -**(AIX®, Linux®, and Windows™ only)** +**(AIX®, Linux®, OS X®, and Windows™ only)** This option relates to the CPU usage of thread categories that can be obtained with the `com.ibm.lang.management.JvmCpuMonitorMXBean` application programming interface. This option affects the way that the VM records the amount of CPU usage of non-Garbage Collection (GC) threads that do work on behalf of GC. diff --git a/mkdocs.yml b/mkdocs.yml index 22176a36a2..b882028691 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -236,7 +236,6 @@ pages: - "-Xnuma:none" : xnumanone.md - "-Xoptionsfile" : xoptionsfile.md - "-Xquickstart" : xquickstart.md - - "-Xrdbginfo" : xrdbginfo.md - "-Xrs" : xrs.md - "-XsamplingExpirationTime" : xsamplingexpirationtime.md - "-Xscdmx" : xscdmx.md