IBM E02HMLL-I Implementation Guide - Page 294

Setting, CW_MEMORY_MAX, parameter, Configuring, memory, checker, thread, properties

Page 294 highlights

objects that are currently queued, but they do not poll new events. The connectors therefore reduce the number of queued business objects and thereby reduce the amount of memory in use, without using more memory to process new business objects. The connectors remain paused for a minimum amount of time specified by Connector pause time at threshold property. When the interval specified by the Connector pause time at threshold property passes, the memory checker thread examines memory usage again. If the memory usage does not exceed the upper threshold anymore then the memory checker thread starts the connectors again. If the memory usage still exceeds the upper threshold, however, the memory checker thread allows the connectors to remain paused. The memory checker thread sleeps in between its examination and state management operations for the amount of time specified by the Memory checker sleep time property. To use the memory checker thread, you must follow the instructions in the following sections: 1. "Setting the CW_MEMORY_MAX parameter" 2. "Configuring the memory checker thread properties" 3. "Further considerations" on page 284 Setting the CW_MEMORY_MAX parameter You must configure the Java parameter CW_MEMORY_MAX in the InterChange Server Express startup script to set the maximum heap memory that InterChange Server Express can use. The memory checker thread takes action based on the values of configurable properties that specify percentages of this maximum heap memory amount. You should set the CW_MEMORY_MAX parameter to the same value specified for the -mx parameter, which specifies the maximum heap size for InterChange Server Express. By default the CW_MEMORY_MAX parameter is set to same value as the -mx parameter, but if you modify the -mx parameter then you must modify the CW_MEMORY_MAX parameter accordingly. The following example is from an unmodified start_server.bat startup script for InterChange Server Express on a Windows computer: REM This is the -mx param value for the InterChange Server Express's memory heap set CW_MEM_HEAP=512 REM Start the InterChange Server Express %CWJAVA% -Djava.ext.dirs=%JRE_EXT_DIRS%;"%MQ_LIB%";"%DB2_LIB%" -Duser.home="%CROSSWORLDS%" -mx%CW_MEM_HEAP%m -DTEAgent=1200 -DCW_MEMORY_MAX=%CW_MEM_HEAP% %ORB_PROPERTY% -classpath %JCLASSES% ServerWrapper -s%SERVERNAME% %2 %3 The CW_MEM_HEAP variable is set to the value 512, and is used to set the -mx parameter, so 512 megabytes of memory are reserved for the Java heap. The CW_MEMORY_MAX parameter is set to the same value by also using the CW_MEM_HEAP variable. Note that the CW_MEMORY_MAX parameter must be proceeded by -D. Configuring the memory checker thread properties You must edit the InterChange Server Express configuration file to set the properties for the memory checker thread. These properties are exposed on the "Misc" tab of the InterChange Server Express configuration interface. For more information on configuring InterChange Server Express, see "Configuring 282 IBM WebSphere Business Integration Server Express and Express Plus: System Implementation Guide

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302

objects
that
are
currently
queued,
but
they
do
not
poll
new
events.
The
connectors
therefore
reduce
the
number
of
queued
business
objects
and
thereby
reduce
the
amount
of
memory
in
use,
without
using
more
memory
to
process
new
business
objects.
The
connectors
remain
paused
for
a
minimum
amount
of
time
specified
by
Connector
pause
time
at
threshold
property.
When
the
interval
specified
by
the
Connector
pause
time
at
threshold
property
passes,
the
memory
checker
thread
examines
memory
usage
again.
If
the
memory
usage
does
not
exceed
the
upper
threshold
anymore
then
the
memory
checker
thread
starts
the
connectors
again.
If
the
memory
usage
still
exceeds
the
upper
threshold,
however,
the
memory
checker
thread
allows
the
connectors
to
remain
paused.
The
memory
checker
thread
sleeps
in
between
its
examination
and
state
management
operations
for
the
amount
of
time
specified
by
the
Memory
checker
sleep
time
property.
To
use
the
memory
checker
thread,
you
must
follow
the
instructions
in
the
following
sections:
1.
“Setting
the
CW_MEMORY_MAX
parameter”
2.
“Configuring
the
memory
checker
thread
properties”
3.
“Further
considerations”
on
page
284
Setting
the
CW_MEMORY_MAX
parameter
You
must
configure
the
Java
parameter
CW_MEMORY_MAX
in
the
InterChange
Server
Express
startup
script
to
set
the
maximum
heap
memory
that
InterChange
Server
Express
can
use.
The
memory
checker
thread
takes
action
based
on
the
values
of
configurable
properties
that
specify
percentages
of
this
maximum
heap
memory
amount.
You
should
set
the
CW_MEMORY_MAX
parameter
to
the
same
value
specified
for
the
-mx
parameter,
which
specifies
the
maximum
heap
size
for
InterChange
Server
Express.
By
default
the
CW_MEMORY_MAX
parameter
is
set
to
same
value
as
the
-mx
parameter,
but
if
you
modify
the
-mx
parameter
then
you
must
modify
the
CW_MEMORY_MAX
parameter
accordingly.
The
following
example
is
from
an
unmodified
start_server.bat
startup
script
for
InterChange
Server
Express
on
a
Windows
computer:
REM
This
is
the
-mx
param
value
for
the
InterChange
Server
Express’s
memory
heap
set
CW_MEM_HEAP=512
REM
Start
the
InterChange
Server
Express
%CWJAVA%
-Djava.ext.dirs=%JRE_EXT_DIRS%;"%MQ_LIB%";"%DB2_LIB%"
-Duser.home="%CROSSWORLDS%"
-mx%CW_MEM_HEAP%m
-DTEAgent=1200
-DCW_MEMORY_MAX=%CW_MEM_HEAP%
%ORB_PROPERTY%
-classpath
%JCLASSES%
ServerWrapper
-s%SERVERNAME%
%2
%3
The
CW_MEM_HEAP
variable
is
set
to
the
value
512,
and
is
used
to
set
the
-mx
parameter,
so
512
megabytes
of
memory
are
reserved
for
the
Java
heap.
The
CW_MEMORY_MAX
parameter
is
set
to
the
same
value
by
also
using
the
CW_MEM_HEAP
variable.
Note
that
the
CW_MEMORY_MAX
parameter
must
be
proceeded
by
-D
.
Configuring
the
memory
checker
thread
properties
You
must
edit
the
InterChange
Server
Express
configuration
file
to
set
the
properties
for
the
memory
checker
thread.
These
properties
are
exposed
on
the
“Misc”
tab
of
the
InterChange
Server
Express
configuration
interface.
For
more
information
on
configuring
InterChange
Server
Express,
see
“Configuring
282
IBM
WebSphere
Business
Integration
Server
Express
and
Express
Plus:
System
Implementation
Guide