Java 虚拟机设置

您可以查看和更改应用程序服务器的进程的 Java™ 虚拟机 (JVM) 配置设置。

要查看此管理控制台页面,请连接到管理控制台,然后浏览至“Java 虚拟机”面板。

[z/OS]对于 z/OS® 平台,请使用以下某个路径。
信息
应用程序服务器 单击 服务器 > 服务器类型 > WebSphere Application Server > server_name 。 然后,在 "服务器基础结构" 部分中,单击Java 和进程管理 > 进程定义 > Control , Servant 或Ad联结 > Java 虚拟机

根据要设置 JVM 属性的位置,选择 控制服务方辅助 区域。

Deployment Manager 单击 系统管理 > Deployment Manager。 然后,在 "服务器基础结构" 部分中,单击 Java 和进程管理 > 进程定义 > 控制 > Java 虚拟机
Node Agent 单击 系统管理 > 节点代理程序 > node_agent。 然后,在 "服务器基础结构" 部分中,单击 Java 和进程管理 > 进程定义 > Java 虚拟机
[AIX Solaris HP-UX Linux Windows][IBM i]对于 IBM® i 和分布式平台,请遵循以下其中一条路径。
信息
应用程序服务器 服务器 > 服务器类型 > WebSphere Application Server > server_name 。 然后,在 "服务器基础结构" 部分中,单击 Java 和进程管理 > 进程定义 > Java 虚拟机
Deployment Manager 系统管理 > Deployment Manager。 然后,在 "服务器基础结构" 部分中,单击 Java 和进程管理 > 进程定义 > Java 虚拟机
Node Agent 系统管理 > Node Agent > node_agent。 然后,在 "服务器基础结构" 部分中,单击 Java 和进程管理 > 进程定义 > Java 虚拟机

类路径

指定 Java 虚拟机代码在其中查找类的标准类路径。

[ 9.0.5.24 或更高版本][Modernized Runtime Extension for Java (MoRE)]在 9.0.5.24 中,删除了受管 Liberty 服务器的 Classpath 字段。

如果需要将一个类路径添加到此字段,请将每个类路径条目输入到一个单独的表行中。 您不必在每个条目的末尾添加冒号或分号。

只应将用于指定下列项所在位置的类路径添加到此字段:
  • 用于系统的检查或监视工具。
  • 在此产品基础上运行的产品的 JAR 文件。
  • JVM 诊断补丁或修订。
如果将用于指定下列项所在位置的类路径添加到此字段,那么可能会发生处理错误:
  • 资源提供程序的 JAR 文件,例如 DB2®。 这些 JAR 文件的路径必须添加到相关提供程序类路径。
  • 您正在该产品上运行的一个或多个应用程序所使用的用户 JAR 文件。 必须在需要此 JAR 文件的每个应用程序中或在与服务器关联的共享库中指定此类型 JAR 文件的路径。
  • 扩展 JAR 文件。 如果需要向系统添加扩展 JAR 文件,那么必须使用 ws.ext.dirs JVM 定制属性来指定此 JAR 文件的绝对路径。 您还可以将 JAR 文件放在 WAS_HOME/lib/ext/ 目录中,但指定扩展 JAR 文件路径的建议方法是使用 ws.ext.dirs JVM 定制属性。
信息
数据类型 字符串

引导类路径

指定 JVM 代码的引导程序类和资源。 此选项仅可用于支持引导类和资源的 JVM 指令。

[ 9.0.5.24 或更高版本][Modernized Runtime Extension for Java (MoRE)]在 9.0.5.24 中,删除了受管 Liberty 服务器的 Boot classpath 字段。

如果需要将一个类路径添加到此字段,请将每个类路径条目输入到一个表行中。 您不需要在每个条目的结尾处添加冒号或分号。

如果需要将多个类路径添加到此字段,那么根据节点所在的操作系统不同,可以使用冒号 (:) 或分号(;)将这些类路径分隔开。

只应将用于指定下列项所在位置的类路径添加到此字段:
  • 用于系统的检查或监视工具。
  • 在此产品基础上运行的产品的 JAR 文件。
  • JVM 诊断补丁或修订。
如果将用于指定下列项所在位置的类路径添加到此字段,那么可能会发生处理错误:
  • 资源提供程序(例如 DB2)的 JAR 文件。 这些 JAR 文件的路径必须添加到相关提供程序类路径。
  • 您正在该产品上运行的一个或多个应用程序所使用的用户 JAR 文件。 必须在需要此 JAR 文件的每个应用程序中或在与服务器关联的共享库中指定此类型 JAR 文件的路径。
  • 扩展 JAR 文件。 如果需要向系统添加扩展 JAR 文件,那么必须使用 ws.ext.dirs JVM 定制属性来指定此 JAR 文件的绝对路径。 您还可以将 JAR 文件放在 WAS_HOME/lib/ext/ 目录中,但指定扩展 JAR 文件路径的建议方法是使用 ws.ext.dirs JVM 定制属性。

详细类装入

指定是否为类装入使用详细调试输出。 缺省情况为不启用详细类装入。

[AIX Solaris HP-UX Linux Windows]如果启用了详细类装入,那么调试输出将被发送至其中一个本机进程日志。

信息
数据类型 Boolean
缺省值
[z/OS]

详细垃圾回收: z/OS

指定是否为垃圾回收使用详细调试输出。 缺省值是启用详细垃圾回收。

如果启用了详细垃圾回收,那么会将调试输出发送到 JES 作业日志。 详细垃圾回收的性能开销可以忽略不计。

信息
数据类型 Boolean
缺省值

在启用此字段的情况下,每当垃圾回收器运行时报告会写至输出流。 此报告指示 Java 垃圾回收进程如何运行。

您可以检查 verboseGC 报告以确定:
  • JVM 用于垃圾回收的时间。
    理想情况下,您希望 JVM 将少于其处理时间的 5% 用于垃圾回收。 要确定 JVM 进行垃圾回收花费的时间所占的百分比,请将它完成垃圾回收所花费的时间除以最近一次 AF 以来的时间,再将获得的结果乘以 100。 例如:
    83.29/3724.32 * 100 = 2.236 percent

    如果您进行垃圾回收所花的时间超过 5%,并且频繁进行垃圾回收,那么可能需要增加 Java 堆大小。

  • 已分配的堆是否随着每次进行垃圾回收而增大。

    要确定分配的堆是否正在增长,请查看在每个垃圾回收周期后仍未使用的堆的百分比。 请验证百分比是否未继续下降。 如果可用空间百分比继续下降,那么从垃圾回收到垃圾回收的堆大小将逐步增加。 这种情况表示应用程序可能存在内存泄漏。

在 z/OS 平台上,还可以发出 MVS 控制台命令 modify display, jvmheap ,显示 JVM 堆信息。 另外,您可检查服务器活动和时间间隔 SMF 记录。 JVM 堆大小也可用于 PMI ,并且可以使用 Tivoli ® Performance Viewer 进行监视。

[AIX Solaris HP-UX Linux Windows][IBM i]

详细垃圾回收

指定是否为垃圾回收使用详细调试输出。 缺省值是启用详细垃圾回收。

[AIX Solaris HP-UX Linux Windows]如果启用了冗余垃圾收集功能,调试输出会被发送到 10 个旋转的 verbosegc 日志文件中,这些文件可包含约 7000 个垃圾收集周期,大小约为 10 M。 详细垃圾回收的性能开销可以忽略不计。

信息
数据类型 Boolean
缺省值
[AIX Solaris HP-UX Linux Windows]注意: 要将垃圾回收日志记录行为恢复到 9.0.0.3 以前的版本或修正包,请禁用垃圾回收日志记录,在通用 JVM 参数字段中输入标准 JVM 选项 -verbose:gc ,并确保该字段不包含控制垃圾回收诊断的其他 JVM 选项。 这将指示 JVM 将调试输出发送到本机进程日志。

在启用此字段的情况下,每当垃圾回收器运行时报告会写至输出流。 此报告指示 Java 垃圾回收进程如何运行。

您可以检查 verboseGC 报告以确定:
  • JVM 用于垃圾回收的时间。
    理想情况下,您希望 JVM 将少于其处理时间的 5% 用于垃圾回收。 要确定 JVM 进行垃圾回收花费的时间所占的百分比,请将它完成垃圾回收所花费的时间除以最近一次 AF 以来的时间,再将获得的结果乘以 100。 例如:
    83.29/3724.32 * 100 = 2.236 percent

    如果您进行垃圾回收所花的时间超过 5%,并且频繁进行垃圾回收,那么可能需要增加 Java 堆大小。

  • 已分配的堆是否随着每次进行垃圾回收而增大。

    要确定分配的堆是否正在增长,请查看在每个垃圾回收周期后仍未使用的堆的百分比。 请验证百分比是否未继续下降。 如果可用空间百分比继续下降,那么从垃圾回收到垃圾回收的堆大小将逐步增加。 这种情况表示应用程序可能存在内存泄漏。

详细 JNI

指定是否对本地方法调用使用冗长调试输出。 缺省为不启用详细 Java 本机接口(JNI)活动。

[ 9.0.5.24 或更高版本][Modernized Runtime Extension for Java (MoRE)]在 9.0.5.24 中,删除了受管 Liberty 服务器的 " Verbose JNI "字段。

信息
数据类型 Boolean
缺省值

初始堆大小

指定 JVM 代码可使用的初始堆大小(以兆字节计)。 如果此字段为空,那么将使用缺省值。 对于大多数应用程序而言,缺省值已足够。

[AIX Solaris HP-UX Linux Windows]对于分布式平台,默认初始堆大小为 50 MB。

[IBM i] IBM i ,默认初始堆大小为 50 MB。 初始堆大小必须始终小于最大堆大小。 不要将初始堆大小和最大堆大小属性设置为同一个值。

[z/OS]对于 z/OS ,控制器的默认初始堆大小为 256 MB,服务程序的默认初始堆大小为 512 MB。

增大此设置可改进启动性能。 减少了进行垃圾回收的次数,并且性能提高了 10%。

增大 Java 堆的大小将继续提高吞吐量,直到堆变得太大而无法在物理内存中为止。 如果堆大小超过了可用物理内存量,并且发生了页面调度,那么性能将显著下降。

最大堆大小

指定 JVM 代码可使用的最大堆大小(以兆字节计)。 如果此字段为空,那么将使用缺省值。

缺省最大堆大小为系统内存总量的 25%(多达 4 GB)或 JVM 缺省值(内存大小不可访问时)。 对于分布式环境,缺省最大堆大小的计算上限为 4 GB ,仅当未在服务器配置中设置最大堆大小的值时,才会执行计算。 设置此值时,对于最大堆大小,硬最大值不是 4 GB。

增大最大堆大小设置可提高启动性能。 当您增大最大堆大小时,减少进行垃圾回收的次数,并且性能还将提高 10%。

增大此设置通常会提高吞吐量,直到堆变得太大而无法在物理内存中。 如果堆大小超过了可用物理内存量,并且发生了页面调度,那么性能将显著下降。 因此,您为此属性指定的值允许堆包含在物理内存中十分重要。

注: 除非更改或更新 heapsize 值,否则缺省最大堆大小不会显示在集成解决方案控制台中。

[z/OS]对于 z/OS ,控制器的默认最大堆大小为 512 MB,服务程序的默认最大堆大小为 1024 MB。 为了防止发生页面调度,为此属性指定的值应能保证每个处理器至少有 256 MB 物理内存,而每个应用程序服务器至少有 512 MB 物理内存。 如果由于页面调度而导致处理器使用率较低,请尽可能增加可用内存,而不是增加最大堆大小。 增大最大堆大小可能会降低性能而不是提高性能。

缺省值适用于大多数应用程序。 如果您认为垃圾回收进行得太频繁,那么可启用详细垃圾回收属性。 如果垃圾回收进行得太频繁,请增大 JVM 堆的最大大小。

[AIX Solaris HP-UX Linux Windows][IBM i]

运行 HProf

指定是否使用 HProf 概要分析程序支持。 要使用另一个概要分析程序,请使用 HProf 参数 设置指定定制概要分析程序设置。 缺省为不启用 HProf 概要分析程序支持。

[ 9.0.5.24 或更高版本][Modernized Runtime Extension for Java (MoRE)]在 9.0.5.24 中,删除了受管 Liberty 服务器的运行 HProf 字段。

如果您将运行 HProf 属性设置为 true,那么必须将命令行概要分析程序参数指定为 HProf 参数属性的值。

信息
数据类型 Boolean
缺省值
[AIX Solaris HP-UX Linux Windows][IBM i]

HProf 参数

指定要传递给启动应用程序服务器进程的 JVM 代码的命令行概要分析程序参数。 您可以指定何时启用 HProf 概要分析程序支持的参数。

[ 9.0.5.24 或更高版本][Modernized Runtime Extension for Java (MoRE)]在 9.0.5.24 中,删除了受管 Liberty 服务器的 HProf 参数字段。

仅当“运行 HProf”属性设置为 true 时才需要 HProf 参数。

调试方式

指定是否以调试方式运行 JVM。 缺省情况是不启用调试方式支持。

如果您将调试方式属性设置为 true,那么必须将命令行调试参数指定为调试参数属性的值。

信息
数据类型 Boolean
缺省值

调试参数

指定命令行调试参数以传递给用来启动应用程序服务器进程的 JVM 代码。 当调试方式属性设置为 true 时,就可以指定这些参数。

调试参数 address 的值定义了调试使用的 IP 地址和端口。 在受管 Liberty 服务器上,如果未指定 IP 地址,默认情况下只启用本地调试。 要指定特定 IP 地址和端口用于远程调试,请将调试参数地址值设置为 <IP-address>:<port>

如果对同一个节点上的多个应用程序服务器启用调试,请验证为地址参数指定的值不相同。 如果将两个都启用了调试的服务器配置为使用同一个调试端口,那么这两个服务器可能无法正常启动。 例如,可能使用调试参数 address=7777(这是调试地址参数的缺省值)同时配置了这两个服务器。

信息
数据类型 字符串
单位 Java 命令行参数

通用 JVM 参数

指定要传递到用于启动应用程序服务器进程的 Java 虚拟机代码的命令行参数。

可以在通用 JVM 参数字段中输入下列可选命令行参数。 如果输入多个自变量,请在每个自变量之间输入空格。
避免麻烦: 如果自变量声明仅适用于 IBM Developer Kit ,那么不能将该自变量与来自其他提供程序 (例如 Microsoft 或 Hewlett-Packard) 的 JVM 配合使用
[z/OS][AIX Solaris HP-UX Linux Windows]-DhotRestartSync:
如果要启用同步服务的热重新启动同步功能,请指定 -DhotRestartSync。 此功能对同步服务指示安装运行于当 Deployment Manager 不处于活动状态时未进行配置更新的环境中。 因此,当 Deployment Manager 或 Node Agent 服务器重新启动时,该服务不必执行完整存储库比较。 启用此功能可提高 Deployment Manager 或 Node Agent 重新启动后第一次同步操作的效率。 尤其是对于包含混合发行版单元,使用多个节点和运行多个应用程序的安装。
-Dcom.ibm.crypto.provider.doAESInHardware:
如果要启用随 IBM SDK and Runtime Environment for AIX®Java Technology Edition V 7 提供的高级加密标准 (AES) 功能,请将此选项设置为 true 。 AES 是一个对称块密码,用于对数据进行多次加密和解密。 启用此功能可提高 WebSphere® Application Server SSL 处理的性能。
[z/OS][AIX Solaris HP-UX Linux Windows]-快速启动

如果您想使用比缺省方式下所使用的优化级别更低的优化级别来进行初始编译,请指定 -Xquickstart。 之后,根据采样结果的不同,可以采用缺省方式下初始编译的级别来进行重新编译。

适合于早期的平均速度比长期运行吞吐量更为重要的应用程序 -Xquickstart。 在某些调试方案,测试线束和短运行工具中,您可以将启动时间缩短 15 %-20%。

[z/OS][AIX Solaris HP-UX Linux Windows]-Xverify:none

如果您希望在装入类期间不验证类,那么可指定 -Xverify:none。 使用 -Xverify:none 将禁用 Java 类验证,这可使启动时间缩短 10-15%。 但是,指定此参数时,不会检测到损坏或无效的类数据。 如果装入已损坏的类数据,那么 JVM 的行为可能会发生异常,或者 JVM 可能会失败。

如果要进行字节码修改,请不要使用此参数,因为如果发生任何检测错误, JVM 可能会失败。 如果在使用该参数时遇到 JVM 故障或 JVM 出现意外行为,请删除该参数,作为调试 JVM 问题的第一步。

[z/OS][AIX Solaris HP-UX Linux Windows]-Xnoclassgc

如果您想禁用对类进行垃圾回收,请指定 -Xnoclassgc。 此参数会导致重用类的情况更多,还可使性能稍微有所提高。 不过,即使在不调用这些类时,这些类所拥有的资源仍在使用中。

类垃圾回收的性能影响通常最小,在基于 Java Platform, Enterprise Edition (Java EE) 的系统中关闭类垃圾回收,大量使用应用程序类装入器,可能会有效地造成类数据的内存泄漏,并导致 JVM 抛出内存不足异常。

如果要监视垃圾回收,那么可以使用 verbose:gc 配置设置。 您可以使用结果输出来确定回收这些资源对性能的影响。

如果指定 -Xnoclassgc 参数,那么每当重新部署应用程序时,都必须始终重新启动应用程序服务器以清除先前版本的应用程序中的类和静态数据。

[IBM i]避免麻烦: 必须使用 -noclassgc 参数在该平台上禁用类垃圾回收。
[z/OS][AIX Solaris HP-UX Linux Windows]-Xgcthreads

如果希望一次使用多个垃圾回收线程,请指定 -Xgcthreads。 这种垃圾回收技术称为并行垃圾回收。 此参数仅对 IBM Developer Kit 有效。

通用 JVM 参数 字段中输入此值时,还请输入在您的机器上运行的处理器数。

按如下所示指定 -Xgcthreads

-Xgcthreads<处理器数>

--Xgcthreads 和处理器数值 n 之间不要添加空格。

-Xgcthreads5 是使用五个处理器指定 -Xgcthreads 的示例。

如果您的机器有多个处理器,那么必须使用并行垃圾回收。

[z/OS][AIX Solaris HP-UX Linux Windows]-Xnocompactgc

如果您想禁用堆压缩,请指定 -Xnocompactgc。 堆压缩是成本最高的垃圾回收操作。 如果您正在使用 IBM Developer Kit ,那么必须避免堆压缩。 如果您禁用堆压缩,那么消除了所有相关的开销。

[z/OS][AIX Solaris HP-UX Linux Windows]-Xgcpolicy

指定 -Xgcpolicy 以设置垃圾回收策略。 此参数仅对 IBM Developer Kit 有效。

如果您想优化吞吐量,并且如果长时间暂停进行垃圾回收也不会产生问题,请将此参数设置为 optthruput

如果正在使用分代垃圾回收器,那么将此参数设置为 gencon。 分代模式尝试实现高吞吐量并同时缩短垃圾回收暂停时间。 为了实现此目标,将堆分为新区域和旧区域。 长生命周期对象将被提升到旧空间,而短生命周期对象将在新空间中被迅速地作为垃圾回收。 gencon 策略能使许多应用程序受益匪浅。 但是,它并不适合所有应用程序,并且通常难以调整。

如果要使用并发标记来跟踪在堆变满之前从堆栈启动的应用程序线程,请将此参数设置为 optavgpause。 指定了此参数之后,垃圾回收器的暂停将变得统一,并且长时间的暂停也不再明显。 但是,使用此策略将使吞吐量降低,这是因为线程可能必须执行额外的操作。

如果要使用标记、清理、压缩和分代样式垃圾回收,请将此参数设置为 balanced。 禁用了并发标记阶段;使用了并发垃圾回收技术,但没有采用其他策略中实现并发标记的方式。 均衡策略对 Java™ 堆使用基于区域的布局。 将单独管理这些区域以减少大型堆的最大暂停时间并提高垃圾回收的效率。 该策略尝试通过匹配对象分配和生存率来避免全局回收。 如果遇到了由全局垃圾回收,特别是压缩引起的应用程序暂停时间的问题,该策略可能会提高应用程序的性能。 如果您正在使用具有非统一内存体系结构 (NUMA) 特征 (仅限x86 和 POWER ® ® 平台) 的大型系统,那么均衡策略可能会进一步提高应用程序吞吐量。

[z/OS][AIX Solaris HP-UX Linux Windows]-XX

垃圾回收周期根据时效收集与其他对象彼此独立的对象。 通过额外的参数,可以单独设置内存池的大小。 要获得更好的性能,请设置包含具有短生命周期的对象的池大小,以便池中的对象不会在多个垃圾回收周期中保留。 使用 NewSizeMaxNewSize 参数来指定新生成池的大小。

经过第一个垃圾回收周期之后保留下来的对象将被转移到另一个池中。 使用SurvivorRatio 参数可指定幸存者池的大小。SurvivorRatio。您可以使用 Tivoli Performance Viewer 收集的对象统计信息,或者在配置设置中包含 verbose: gc 参数以监视垃圾回收统计信息。 如果垃圾回收变成瓶颈,请指定下列参数来定制生成池设置,以更好地满足环境的需要。
-XX:NewSize=lower_bound 
-XX:MaxNewSize=upper_bound
 -XX:SurvivorRatio=new_ratio_size 
缺省值如下所示:
  • NewSize=2m
  • MaxNewSize=32m
  • SurvivorRatio=32
最佳实践: 如果 JVM 的堆大小超过 1 GB ,那么必须使用以下值:
  • -XX:NewSize=640m
  • -XX:MaxNewSize=640m
  • -XX:SurvivorRatio=16

或者,可以将总堆大小的 50% 到 60% 设置为新的分代池。

[z/OS][AIX Solaris HP-UX Linux Windows]-Xminf

如果您想更改最小可用堆大小所占的百分比,请指定 -Xminf。 如果可用空间小于指定的量,那么堆将增大。 在启用了复位的方式下,此参数指定中间件和瞬态堆的可用空间所占的最小百分比。 为此自变量指定的值是浮点数 01。 缺省值为 .3 (30%)。

-Dcom.ibm.CORBA.RequestTimeout=timeout_interval

指定 -Dcom.ibm.CORBA.RequestTimeout= timeout_interval 参数,以设置对从客户机发送的请求作出响应时应遵循的超时时间段。 此参数使用 -D 选项。timeout_interval 是以秒计的超时周期。 如果网络遇到极端等待时间,指定大的值,以防止超时。 如果您指定过小的值,参与工作负载管理的应用程序服务器会在接收响应前超时。

仅当应用程序遇到超时问题时才指定此参数。 没有为此参数提供建议值。

-Dcom.ibm.server.allow.sigkill =true

-Dcom.ibm.server.allow.sigkill= true 参数允许 Node Agent 进程在 stop 方法未在为 Ping 时间间隔指定的时间间隔内完成时使用进程的终止方法。 当 Node Agent 正在监视应用程序服务器并与该应用程序服务器失去联系时,此设置非常有用。

当由于已针对应用程序服务器启用自动重新启动,应用程序服务器的监视策略允许 Node Agent 重新启动应用程序服务器时,Node Agent 会针对应用程序服务器进程执行 stop 方法。 在停止处理期间, Node Agent 会监视应用程序服务器。 如果应用程序服务器未在为 Ping 时间间隔指定的时间间隔内停止,并且此参数设置为 true(缺省值) ,那么 Node Agent 将对应用程序服务器进程执行终止方法以停止应用程序服务器进程。

如果将此参数设置为 false,那么 Node Agent 会继续监视 stop 进程,但不会尝试重新启动应用程序服务器。

要使用管理控制台来禁用此参数,请单击 系统管理> Node Agent> nodeagent_name > Java 和进程管理> 进程定义> Java 虚拟机> 通用 JVM 参数

-Dcom.ibm.websphere.alarmthreadmonitor.hung_alarm_mute=

此参数指定警报在系统日志中的挂起线程消息中报告其完整堆栈跟踪的最大次数。

当系统报警线程的活动时间超过报警线程监控阈值时,应用服务器会记录一条挂起的线程消息,其中包含报警线程的名称、报警线程的活动时间以及完整的异常堆栈跟踪。 完整堆栈跟踪对于调试延迟原因很有用。 但是,如果频繁触发挂起线程消息,那么重复的长消息可能会使系统日志中的其他信息难以找到。 将此参数设置为一个大于 0 的证书,以指定任何单个警报报告其完整堆栈跟踪的最大次数。 达到此阈值之后,后续的每个挂起线程消息将仅包括挂起警报处理程序的条目。

缺省值 0 表明警报的所有挂起线程消息都包括完整堆栈跟踪。

此属性指定每个警报处理程序类的阈值,而不指定消息总数或者每个警报处理程序实例的阈值。

-Dcom.ibm.websphere.native.logging.timestamp =true

指定此参数以在所有输出到 native_stdout 和 native_stderr 日志文件的服务器调试消息前面添加时间戳记和线程标识。 可以使用时间戳记和线程标识使应用程序服务器引导组件的行为与其他服务器机制(在 SystemOut 和 SystemErr 日志文件中进行了指示)互相关联。 该行为默认为禁用。

如果对服务器配置了 JVM 通用参数 -Dws.ext.debug=true,那么服务器会在其引导序列中将调试消息发送至 native_stdout.lognative_stderr.log。 如果 -Dcom.ibm.websphere.native.logging.timestamp 也设置为 true,那么服务器将输出附带时间戳记和线程标识的调试消息,如以下示例中所示:

[6/18/12 16:24:31:453 CDT] 00000000 
ws.ext.mains.args[0]=-nosplash
[6/18/12 16:24:31:453 CDT] 00000000 
ws.ext.mains.args[1]=-application
[6/18/12 16:24:31:453 CDT] 00000000 
ws.ext.mains.args[2]=com.ibm.ws.bootstrap.WSLauncher
[6/18/12 16:24:31:453 CDT] 00000000 
ws.ext.mains.args[3]=com.ibm.ws.runtime.WsServer
注: 您必须仅在 IBM 支持人员的指导下指定 -Dws.ext.debug= true
-Dcom.ibm.ws.wim.registry.DbSharedAcrossMultipleServers=true

当虚拟成员管理器 (VMM) DB/LA 存储库在不同安装间共享时,指定 -Dcom.ibm.ws.wim.registry.DbSharedAcrossMultipleServers=true。 此属性不用在集群环境中。 设置此属性使 VMM 能够同步从共享存储库的多个 WebSphere Application Server 安装发出的调用。

-Dcom.ibm.websphere.wlm.unusable.interval=时间间隔

当刷新客户机的工作负载管理状态的时间间隔太短或太长时,指定 -Dcom.ibm.websphere.wlm.unusable.interval= timeout_interval 参数以更改 com.ibm.websphere.wlm.unusable.interval 属性的值。 此属性指定工作负载管理客户机运行时在将服务器标记为不可用之后,在再次尝试与该服务器联系之前所等待的时间(以秒计)。 此参数使用 -D 选项。 缺省值为 300 秒。 如果该属性设置为较大的值,那么服务器将长时间标记为不可用。 这将阻止工作负载管理刷新协议在时间段完成之前刷新客户机的工作负载管理状态。

[z/OS]-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=

此参数仅适用于 z/OS 。 指定 -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl= 参数以指示在不再需要单个直接字节缓冲区时,必须立即释放该缓冲区的存储器。 此参数的唯一受支持的值为 com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl

JVM 为处理请求数据而创建的直接字节缓冲区是在 Language Environment® (LE) 堆而不是在 JVM 堆中分配的。 通常,即使不再需要直接字节缓冲区,也只有在下次进行垃圾回收之后,JVM 才会释放此本机 LE 存储器。 如果服务器在处理大型请求,LE 存储空间会在 JVM 运行垃圾回收周期之前耗尽,从而导致服务器异常终止(异常结束)。 使用以下参数来配置 JVM 可以防止发生这些异常结束。
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl

[z/OS]在 z/OS 平台上,如果为 TCP 通道指定了zaioFreeInitialBuffers 自定义属性,则还需要指定此参数,以便通道在不再需要新连接上使用的初始读缓冲区时立即释放这些缓冲区。

[z/OS]DisSipComplianceEnabled=true|false

指定是否在 SIP 代理服务器上启用 SIP 合规性检查。 SIP 合规性检查确保 SIP 消息符合会话初始化协议标准。 此属性设置为 true 时,启用 SIP 合规性检查。

如果在z/OS WebSphere Application Server Network Deployment环境中运行代理服务器,且代理服务器不是群集的一部分,则可以使用isSipComplianceEnabledSIP 代理服务器自定义属性来启用或禁用该 SIP 代理服务器的 SIP 合规性检查。 但是,如果您正在运行独立应用程序服务器,或者代理服务器是集群的一部分,那么必须使用此通用 JVM 参数来启用或禁用 SIP 合规性检查。

[z/OS][AIX Solaris HP-UX Linux Windows]-Xshareclasses:none

指定 -Xshareclasses:none 参数以对进程禁用类共享功能。 通过在高速缓存中共享类,可以缩短启动时间并减少内存使用量。 进程(例如应用程序服务器、节点代理程序和 Deployment Manager)可以使用共享类选项。

有时,必须清除共享类高速缓存,例如修改应用程序代码或升级 WebSphere Application Server时。 要清除高速缓存,请从目录 <app_server_root>/bin/运行 clearClassCache 脚本。

[Linux][AIX][z/OS]
./clearClassCache.sh
[Windows]
clearClassCache.bat
[IBM i]
clearClassCache

[z/OS]重启系统也会清除缓存。

注: 在使用 clearClassCache 脚本之前,必须停止所有连接的 JVM。 有关使用 clearClassCache 脚本的更多信息,请参阅 clearClassCache 脚本。
避免麻烦:
  • 不支持类共享及其关联设置:
    • [Solaris]Solaris
    • [HP-UX]HP-UX

对于转换用户:
  • 在 V 9.0.5.0之前,不会将在应用程序服务器进程中运行的 Java EE 应用程序类添加到共享类高速缓存中。
  • 从 V 9.0.5.0开始,会将 Java EE 应用程序类添加到共享类高速缓存。
信息
数据类型 字符串
单位 Java 命令行参数

可执行文件 JAR 文件名

指定 JVM 代码使用的可执行 JAR 文件的完整路径名。

[ 9.0.5.24 或更高版本][Modernized Runtime Extension for Java (MoRE)]在 9.0.5.24 中,删除了受管自由服务器的可执行 JAR 文件名字段。

信息
数据类型 字符串
单位 路径名

禁用 JIT

指定是否禁用 JVM 代码的即时 (JIT) 编译器选项。

[ 9.0.5.24 或更高版本][Modernized Runtime Extension for Java (MoRE)]在 9.0.5.24 中,删除了受管 Liberty 服务器的禁用 JIT 字段。

如果您禁用 JIT 编译器,吞吐量会显著地减少。 因此,出于性能原因,始终启用 JIT。

信息
数据类型 Boolean
缺省值 false(启用 JIT)
建议 启用 JIT