使用脚本编制来配置 Java 虚拟机

使用 wsadmin 工具来配置 Java™ 虚拟机 (JVM) 的设置。作为配置应用程序服务器的一部分,可以定义用于增强操作系统使用 Java 虚拟机的方法的设置。

关于此任务

有三种方式可用来执行本任务。通过本主题中的步骤来使用 AdminTask 对象的 setJVMDebugMode 命令或 AdminConfig 对象来修改 JVM 配置。或者,可以使用 AdminServerManagement 脚本库中的 configureJavaVirtualMachine Jython 脚本来启用、禁用或配置 JVM 的调试方式。wsadmin 工具启动时将自动装入该脚本。通过以下语法使用 configureJavaVirtualMachine 脚本来配置 JVM 设置:
AdminServerManagement.configureJavaVirtualMachine(nodeName, serverName, debugMode, debugArgs, otherAttributeList)
有关其他信息和参数定义,请参阅 AdminServerMananagment 脚本库的文档。

Java 虚拟机 (JVM) 是一个解释计算引擎,负责运行已编译 Java 程序中的字节代码。JVM 会将 Java 字节码转换为主机的本机指令。由于应用程序服务器是一个 Java 进程,因此需要 JVM,才能运行应用程序服务器以及支持在该 JVM 上运行的 Java 应用程序。JVM 设置是应用程序服务器配置的一部分。

过程

  1. 启动 wsadmin 脚本编制工具。
  2. 有两种方式用来完成本步骤。可以使用 AdminTask 对象的 setJVMDebugMode 命令或 AdminConfig 对象来修改 JVM 配置。选择下列其中一种配置方式:
    • 使用 AdminTask 对象:
      • 使用 Jacl:
        $AdminTask setJVMDebugMode {-serverName server1 -nodeName node1 -debugMode true}
      • 使用 Jython:
        AdminTask.setJVMDebugMode (['-serverName', 'server1', '-nodeName', 'node1', '-debugMode', 'true'])
    • 使用 AdminConfig 对象:
      1. 标识服务器并将其指定给 server1 变量,如以下示例所示:
        • 使用 Jacl:
          set server1 [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/]
        • 使用 Jython:
          server1 = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/')
          print server1
        示例输出:
        server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)
      2. 标识属于相关服务器的 JVM 并将其指定给 jvm 变量,如以下示例所示:
        • 使用 Jacl:
          set jvm [$AdminConfig list JavaVirtualMachine $server1]
        • 使用 Jython:
          jvm = AdminConfig.list('JavaVirtualMachine', server1)
          print jvm

        示例输出:

        [AIX Solaris HP-UX Linux Windows][IBM i]
        (cells/mycell/nodes/mynode/servers/server1:server.xml#JavaVirtualMachine_1)
        [z/OS]
        (cells/mycell/nodes/mynode/servers/server1:server.xml#JavaVirtualMachine_1)
        (cells/mycell/nodes/mynode/servers/server1:server.xml#JavaVirtualMachine_2)
      3. [z/OS]标识服务器的控制器 JVM 及其服务方区域 JVM,如以下示例所示:
        • 使用 Jacl:
          set cjvm [lindex $jvm 0]
          set sjvm [lindex $jvm 1]
        • 使用 Jython:
          # get line separator
          import java
          lineSeparator = java.lang.System.getProperty('line.separator')
          arrayJVMs = jvm.split(lineSeparator)
          cjvm = arrayJVMs[0]
          sjvm = arrayJVMs[1]
      4. 修改 JVM 以启用调试功能,如以下示例所示:
        • 使用 Jacl:[AIX Solaris HP-UX Linux Windows][IBM i]
          $AdminConfig modify $jvm {{debugMode true} {debugArgs "-Djava.compiler=NONE -Xdebug -Xnoagent 
          -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777"}}
          [z/OS]
          $AdminConfig modify $cjvm {{debugMode true} {debugArgs "-Djava.compiler=NONE -Xdebug -Xnoagent 
          -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777"}}
          $AdminConfig modify $sjvm {{debugMode true} {debugArgs "-Djava.compiler=NONE -Xdebug -Xnoagent 
          -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777"}}
        • 使用 Jython:[AIX Solaris HP-UX Linux Windows][IBM i]
          AdminConfig.modify(jvm, [['debugMode', 'true'], ['debugArgs',  "-Djava.compiler=NONE -Xdebug 
          -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777"]])
          [z/OS]
          AdminConfig.modify(cjvm, [['debugMode', 'true'], ['debugArgs',  "-Djava.compiler=NONE -Xdebug 
          -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777"]])
          AdminConfig.modify(sjvm, [['debugMode', 'true'], ['debugArgs',  "-Djava.compiler=NONE -Xdebug 
          -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777"]])
  3. 保存配置更改。
    请使用以下命令示例来保存配置更改:
    AdminConfig.save()
  4. (仅限于 Network Deployment 环境)使节点同步。
    使用 AdminNodeManagement 脚本库中的 syncActiveNode 或 syncNode 脚本将配置更改传播至一个或多个节点。
    • 使用 syncActiveNodes 脚本将更改传播至单元中的每个节点,如以下示例所示:
      AdminNodeManagement.syncActiveNodes()
    • 使用 syncNode 脚本将更改传播至特定节点,如以下示例所示:
      AdminNodeManagement.syncNode("myNode")

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_jvm
文件名:txml_jvm.html