第3回 wsadminコマンドで楽々設定&情報採取 WebSphere Application Server その1
Tweet
第3回は、コマンドラインでのWebSphereのアプリケーションサーバーの設定、情報採取する方法について触れていきたいと思います。
WASのアプリケーションサーバーの設定と情報採取についてですが、例として、JVMの設定と情報採取をコマンドで実施してみたいと思います。
以下のコマンドで、構成要素を出力し、そこからJVMの構成情報を取得します。
print AdminConfig.types()
以下のように非常にたくさんの構成要素が出力されます。
wsadmin>print AdminConfig.types()
AccessPointGroup
Action
ActivationSpec
~ 中略 ~
JavaPersistenceAPIService
JavaProcessDef
JavaVirtualMachine
JavaVirtualMachinePreset
JobClass
~ 中略 ~
com.ibm.etools.webservice.wssecurity.Generator
com.ibm.etools.webservice.wssecurity.Generatorbinding
com.ibm.etools.webservice.wssecurity.WSSecurity
wsadmin>
JVMの情報は、「JavaVirtualMachine」で定義されています。前回までに構築したアプリケーションサーバー「appserver01」の設定情報を確認してみます。
以下のコマンドを実行し情報を取得することができます。
nodename="testNode01"
servername="appserver01"
server=AdminConfig.getid('/Node:'+nodename+'/Server:'+servername+'/')
javavirtualmachine=AdminConfig.list("JavaVirtualMachine", server)
print AdminConfig.show(javavirtualmachine)
wsadmin>nodename="testNode01"
wsadmin>servername="appserver01"
wsadmin>server=AdminConfig.getid('/Node:'+nodename+'/Server:'+servername+'/')
wsadmin>javavirtualmachine=AdminConfig.list("JavaVirtualMachine", server)
wsadmin>print AdminConfig.show(javavirtualmachine)
[bootClasspath []]
[classpath []]
[debugArgs -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7777]
[debugMode false]
[disableJIT false]
[genericJvmArguments []]
[hprofArguments []]
[initialHeapSize 0]
[internalClassAccessMode ALLOW]
[maximumHeapSize 0]
[runHProf false]
[systemProperties [com.ibm.security.jgss.debug(cells/testCell01/nodes/testNode01/servers/appserver01|server.xml#Property_xxxxxxxx) com.ibm.security.krb5.Krb5Debug(cells/testCell01/nodes/testNode01/servers/appserver01|server.xml#Property_xxxxxxxx)]]
[verboseModeClass false]
[verboseModeGarbageCollection false]
[verboseModeJNI false]
wsadmin>
この時点では、「appserver01」への設定は特にされていないため、以下のように値を置き換えて、設定してみます。
- 「メモリの初期値」 → initialheapsize
- 「メモリの最大値」 → maximumheapsize
- 「冗長ガーベッジ・コレクション」 → verbosemodegarbagecollection
設定としては、メモリの初期値と最大値を1024MB、冗長ガーベッジ・コレクションの設定をONにします。
nodeName="testNode01"
servername="appserver01"
server=AdminConfig.getid('/Node:'+nodename+'/Server:'+servername+'/')
javavirtualmachine=AdminConfig.list("JavaVirtualMachine", server)
verbosemodegarbagecollection="true"
initialheapsize=str("1024")
maximumheapsize=str("1024")
AdminConfig.modify(javavirtualmachine, "[[initialHeapSize "+initialheapsize+"] [maximumHeapSize "+maximumheapsize+"] [verboseModeGarbageCollection "+verbosemodegarbagecollection+"]]")
AdminConfig.save()
print AdminConfig.show(javavirtualmachine)
wsadmin>nodename="testNode01"
wsadmin>servername="appserver01"
wsadmin>server=AdminConfig.getid('/Node:'+nodename+'/Server:'+servername+'/')
wsadmin>javavirtualmachine=AdminConfig.list("JavaVirtualMachine", server)
wsadmin>verbosemodegarbagecollection="true"
wsadmin>initialheapsize=str("1024")
wsadmin>maximumheapsize=str("1024")
wsadmin>AdminConfig.modify(javavirtualmachine, "[[initialHeapSize "+initialheapsize+"] [maximumHeapSize "+maximumheapsize+"] [verboseModeGarbageCollection "+verbosemodegarbagecollection+"]]")
''
wsadmin>AdminConfig.save()
''
wsadmin>
wsadmin>print AdminConfig.show(javavirtualmachine)
[bootClasspath []]
[classpath []]
[debugArgs -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7777]
[debugMode false]
[disableJIT false]
[genericJvmArguments []]
[hprofArguments []]
[initialHeapSize 1024]
[internalClassAccessMode ALLOW]
[maximumHeapSize 1024]
[runHProf false]
[systemProperties [com.ibm.security.jgss.debug(cells/testCell01/nodes/testNode01/servers/appserver01|server.xml#Property_xxxxxxxx) com.ibm.security.krb5.Krb5Debug(cells/testCell01/nodes/testNode01/servers/appserver01|server.xml#Property_xxxxxxxx)]]
[verboseModeClass false]
[verboseModeGarbageCollection true]
[verboseModeJNI false]
wsadmin>
これでappserver01のメモリサイズの初期値、最大値が1024、冗長ガーベッジ・コレクションが有効な設定に変更されました。アプリケーションサーバーのプロセスが起動している場合は、再起動後に設定値が反映されます。
第3回ではコマンドラインでのアプリケーションサーバーの設定、情報採取についてご説明しました。第4回では、今回の構築コマンドを少し改良し、同時に複数台のアプリケーションサーバーの設定、情報採取する方法についてご説明したいと思います。
Tweet