|
|
|
|
|
Jvm
Action : was.jvm (Category : was, Name : jvm, By : kikonf)
Complete Name : was.jvm.by.kikonf Version : 5.0 License : Modified BSD License Purpose of the was category : Easy to customize. This category use in background the wsadmin command in jython mode (through AdminConfig, AdminControl and AdminTask), to drive WebSphere Application Server ® configuration. You can use it to manage the whole WebSphere ® architecture. Purpose of this jvm plugin : Tune one JVM characteristics The following shows the Descriptor File for the Action : was.jvm Toggle lines
<!-- Copyright (c) 2008, Patrick Germain Placidoux -->
<!-- All rights reserved. -->
<!-- -->
<!-- This file is part of Kikonf Public Software. -->
<!-- -->
<!-- Kikonf Public Software is released under the modified BSD License, -->
<!-- which should accompany it or any part of it in the file "COPYING". -->
<!-- If you do not have this file you can access the license -->
<!-- through the WWW at http://www.kikonf.org/license/bsd/license.txt. -->
<!-- -->
<!-- Home page: http://www.kikonf.org -->
<!-- Contact: kikonf@gmx.com -->
<!-- ====================================================================== -->
<!-- -->
<!-- -->
<!-- -->
<!-- ====================================================================== -->
<!-- UPDATE | DATE | CODE | REASON -->
<!-- ====================================================================== -->
<!-- | | | -->
<!-- -->
<!-- -->
<!-- ====================================================================== -->
<!-- *value : stands for default value. -->
<!-- Any attribute that has a default value do not need to be set (even if it is required) ! -->
<!-- Attributes : type, software, version are reserved and must not be set. -->
<!-- Attributes : version is set by the Parser engine. -->
<!-- If the Attribute value starts by { and end by }, its content will be CoolTyped. -->
<!-- -->
<!-- -->
<!-- Attributes and texts values between {} are evaluated using the wk formalism. -->
<!-- Here is a snapshot of the wk formalism: -->
<!-- ... -->
<!-- The wk formalism can be writen using too syntaxes: -->
<!-- Either the python syntax: -->
<!-- version = "{ -->
<!-- '*value': 7.0, -->
<!-- '*ge': 6.1, -->
<!-- '*le': 7.9, -->
<!-- '*required': True -->
<!-- }" -->
<!-- equivalente to (skipping no line): -->
<!-- version = "{'*value': 7.0, '*ge': 6.1, '*le':7.9, '*required': 'True'}" -->
<!-- Or the CoolTyping syntax: -->
<!-- version = '{\ -->
<!-- *value:7.0,\ -->
<!-- *ge:6.1,\ -->
<!-- *le:7.9,\ -->
<!-- *required:True\ -->
<!-- }' -->
<!-- This is the same shape but without ' nor ". -->
<!-- Easiest to write as long as we dont bother anymore about ' nor ". -->
<!-- The CoolTyping engine will deduct for us the python inner types -->
<!-- They deducted from what they obviously seems like. -->
<!-- Ex: *value becomes a python string. -->
<!-- 7.0 becomes a python float. -->
<!-- True becomes a python bool. -->
<!-- Be aware that this syntax supports no space between special character like : {}, (), : and ,. -->
<!-- If the expression contain at least one ', it's assume to be using the python syntax. -->
<!-- temp_dir: If temp_dir is set all WAS temporary files go there (dervlet scratch dir, this jvm workspace dir, java.io.temp, ...). -->
<!-- Some time you may not want to flood your regular Application server logs (stdout) with HA (DCS protocol) messages or free your network. -->
<!-- In this case you may want to disable WAS HA Manager. -->
<!-- ha: Beware that doing this, you disable any mechanism relaying on HA -->
<!-- (session memoryTomemory replication, cache replication, cross server transaction recovering, ...) -->
<jvm
type = '{\
*eq:action,\
*required:True,\
*display:False\
}'
bal = '{*display:False}'
sub_type = '{\
*value:configuration,\
*eq:configuration,\
*required:True,\
*deny:True,\
*display:False\
}'
softwares = "{
'*type':'dict',
'*dtype':
{
'was':
{
'*ge':'6.1',
'*le':'7.9',
'*required':True
}
},
'*deny':True,
'*display':False
}"
xms = '{\
*value:256,\
*type:int,\
*required:True,\
*help:%lang/action.was.en/jvm.xms.help,\
*lhelp:%lang/action.was.en/jvm.xms.lhelp\
}'
xmx = '{\
*value:512,\
*type:int,\
*required:True,\
*help:%lang/action.was.en/jvm.xmx.help,\
*lhelp:%lang/action.was.en/jvm.xmx.lhelp\
}'
run_hprof = '{\
*value:false,\
*checkIn:(false,true),\
*required:True,\
*help:%lang/action.was.en/jvm.run_hprof.help,\
*lhelp:%lang/action.was.en/jvm.run_hprof.lhelp\
}'
disable_jit = '{\
*value:false,\
*checkIn:(false,true),\
*required:True,\
*help:%lang/action.was.en/jvm.disable_jit.help,\
*lhelp:%lang/action.was.en/jvm.disable_jit.lhelp\
}'
temp_dir='{*type:str,*help:%lang/action.was.en/jvm.temp_dir.help,*lhelp:%lang/action.was.en/jvm.temp_dir.lhelp}'
ha='{*value:true,*checkIn:(false,true),*required:True,*type:str,*help:%lang/action.was.en/jvm.ha.help,*lhelp:%lang/action.was.en/jvm.ha.lhelp}'
plugin_max_con='{*value:50,*type:int,*help:%lang/action.was.en/jvm.plugin_max_con.help,*lhelp:%lang/action.was.en/jvm.plugin_max_con.lhelp}'
user='{*type:str,*help:%lang/action.was.en/jvm.user.help,*lhelp:%lang/action.was.en/jvm.user.lhelp}'
group='{*type:str,*help:%lang/action.was.en/jvm.group.help,*lhelp:%lang/action.was.en/jvm.group.lhelp}'
__wk__='{\
*help:%lang/action.was.en/jvm.help,\
*lhelp:%lang/action.was.en/jvm.lhelp\
}'
>
<scope
node = '{*required:True}'
server = '{*required:True}'
__wk__='{\
*eq:1,\
*help:%lang/action.was.en/scope.help,\
*lhelp:%lang/action.was.en/scope.lhelp\
}'
/>
<verbose
cl='{\
*value:false,\
*checkIn:(false,true),\
*required:True,\
*help:%lang/action.was.en/jvm.verbose.cl.help,\
*lhelp:%lang/action.was.en/jvm.verbose.cl.lhelp\
}'
gc = '{\
*value:false,\
*checkIn:(false,true),\
*required:True,\
*help:%lang/action.was.en/jvm.verbose.gc.help,\
*lhelp:%lang/action.was.en/jvm.verbose.gc.lhelp\
}'
jni = '{\
*value:false,\
*checkIn:(false,true),\
*required:True,\
*help:%lang/action.was.en/jvm.verbose.jni.help,\
*lhelp:%lang/action.was.en/jvm.verbose.jni.lhelp\
}'
__wk__ = '{*le:1}'
/>
<classpath __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.classpath.help}'>
{*type:str}
</classpath>
<boot_classpath __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.boot_classpath.help}'>
{*type:str}
</boot_classpath>
<debug_args enable='{*value:false,*checkIn:(false,true)}' __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.debug_args.help,*lhelp:%lang/action.was.en/jvm.debug_args.lhelp}'>
{'*type': 'str', '*value' : '-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777'}
</debug_args>
<generic_jvm_args __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.generic_jvm_args.help,*lhelp:%lang/action.was.en/jvm.generic_jvm_args.lhelp}'>
{*type:str}
</generic_jvm_args>
<hprof_args __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.hprof_args.help,*lhelp:%lang/action.was.en/jvm.hprof_args.lhelp}'>
{*type:str}
</hprof_args>
<system_props __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.system_props.help}'>
<property
name = '{\
*required:True\
}'
value = '{\
*required:True\
}'
/>
</system_props>
<!-- Some helpful time outs, handable to have them here, as long they are not considered to be not significant enougth to justify a separated action. -->
<timouts tran_timout='{*value:120,*type:int,*required:True}' orb_req_timout='{*value:180,*type:int,*required:True}' orb_locale_req_timout='{*value:180,*type:int,*required:True}' __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.timouts.help,*lhelp:%lang/action.was.en/jvm.timouts.lhelp}'/>
<!-- extlibs: refers to shared classes loaded at the extension classloader level. -->
<extlibs __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.extlibs.help,*lhelp:%lang/action.was.en/jvm.extlibs.lhelp}'>
{*type:str}
</extlibs>
<gc __wk__ = '{*le:1}'>
<explicitgc disable='{*value:false,*checkIn:(false,true),*required:True}' __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.gc.explicitgc.help,*lhelp:%lang/action.was.en/jvm.gc.explicitgc.lhelp}'/>
<policy type='{*value:optthruput,*checkIn:(gencon,optthruput,optavgpause),*required:True}' __wk__ = '{*le:1,*help:%lang/action.was.en/jvm.gc.policy.help,*lhelp:%lang/action.was.en/jvm.gc.policy.lhelp}'>
<!-- The gencon tag works only with policy type=gencon. -->
<!-- Gencon is a generational garbadge, wich splits the heap in two parts. -->
<!-- A new segment for quickly collected short lived objects -->
<!-- and a old segment for old lived objects. -->
<!-- xmns set initial new space size. -->
<!-- xmnx set maximum new space size. -->
<!-- xmos set initial old space size. -->
<!-- xmox set maximum old space size. -->
<!-- Notes: -->
<!-- Run java (TM) -X, on Ibm (TM) jdk 5 for more information. -->
<!-- Default values are set to Xmns, Xmnx, Xmo, Xmos just because they are need to make it work, -->
<!-- when gencon tag is present. You should adjust to your own setting to meet your requirements. -->
<gencon xmns='{*value:128,*type:int}' xmnx='{*value:256,*type:int}' xmos='{*value:128,*type:int}' xmox='{*value:768,*type:int}' __wk__ = '{*le:1}'/>
</policy>
<!-- If you want the gc to run in background put the number of threads. -->
<threads number='{*value:0,*type:int,*required:True}' __wk__ = '{*le:1}'/>
</gc>
<!-- You may like to use shared_classes to save heap accross jvms. -->
<shared_classes
enable = '{*value:false,*checkIn:(false,true),*required:True}'
name = '{*required:True,\
*help:%lang/action.was.en/jvm.shared_classes.name.help,\
*lhelp:%lang/action.was.en/jvm.shared_classes.name.lhelp}'
required = '{*value:false,*checkIn:(false,true),*required:True}'
control_dir = '{*required:True}'
size = '{*value:0,*type:int,*required:True}'
__wk__ = '{*le:1,\
*help:%lang/action.was.en/jvm.shared_classes.help,\
*lhelp:%lang/action.was.en/jvm.shared_classes.lhelp\
}'
/>
</jvm>
<!-- Trademarks: -->
<!-- ___________ -->
<!-- IBM is a registred trademark of International Business Machines Corporation. -->
<!-- Oracle and Java are registred trademarks of Oracle and/or its affiliates. -->
<!-- -->
<!-- Other names may be trademarks of their respective owners. -->
A descriptor file is a WYSISWYG xsd like schema, wich describes what are the supported Tags, Attributes and Attributes values for one Action. The special Attributes : type, sub_type, bal, softwares, __wk__ are reserved by Kikonf. The table below summarizes the informations provided by the was.jvm Descriptor File : /jvm>   Tune one JVM characteristics
/jvm/scope>   A scope refers to a Name Space where to create the resource Required:True
/jvm/verbose>  
/jvm/classpath>   Set the Standard class Path /jvm/boot_classpath>   Set the Boot Strap Class Path /jvm/debug_args>   Set the JVM Debug Arguments
/jvm/generic_jvm_args>   Add extra Agument to the java command /jvm/hprof_args>   Provide Hprof Arguments to the JVM /jvm/system_props>   Add System Porperties /jvm/system_props/property>  
/jvm/timouts>   Tune a set of timeouts
/jvm/extlibs>   Add external libraries /jvm/gc>   /jvm/gc/explicitgc>   Disable Explicite Garbadge Collection
/jvm/gc/policy>   Fine grain tune the Garbadge Collector behaviour
/jvm/gc/policy/gencon>  
/jvm/gc/threads>  
/jvm/shared_classes>   Enable Shared Classes
Trademarks :
|