08.06.2014 Views

Download PDF (1.3 MB) - IBM Redbooks

Download PDF (1.3 MB) - IBM Redbooks

Download PDF (1.3 MB) - IBM Redbooks

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

outside the heap are held by objects within the heap and being cleaned by finalizers.<br />

Reducing the size of the heap can alleviate this situation by increasing the frequency with<br />

which finalizers are run. In addition, examine your application to determine whether the<br />

finalizers can be avoided or minimized.<br />

Out-of-memory errors can also occur for issues unrelated to JVM heap usage, such as<br />

running out of certain system resources. Examples of this problem include insufficient file<br />

handles or thread stack sizes that are too small.<br />

In some cases, you can tune the configuration to avoid running out of native heap. Try<br />

reducing the stack size for threads (the -Xss parameter). Deeply nested methods might force<br />

a thread stack overflow if there is insufficient stack size.<br />

Also, if you are using a 64-bit <strong>IBM</strong> JVM, use the -Xgc:preferredHeapBase parameter to avoid<br />

native out-of-memory issues because of exhaustion of memory addresses below 4 GB (for<br />

example, classes and threads are allocated in this region).<br />

You can use the -Xgc:preferredHeapBase option to move the Java heap outside of the lower<br />

4 GB address space. See the <strong>IBM</strong> JVM information center for a more detailed description of<br />

the solution:<br />

http://ibm.co/10CGjeT<br />

For middleware products, if you are using an in-process version of the JDBC driver, it is<br />

possible to find an out-of-process driver that can have a significant effect on the native<br />

memory requirements. For example, you can use type 4 JDBC drivers (DB2 Net drivers or<br />

Oracle's Thin drivers), or you can switch <strong>IBM</strong> MQSeries® from Bindings mode to Client mode.<br />

See documentation for DB2, Oracle, and MQSeries for more details.<br />

4.17 Tuning for WebSphere InterChange Server migrated<br />

workloads<br />

The following tuning suggestions are unique to workloads that are migrated by using the<br />

WebSphere InterChange Server migration wizard in the Integration Designer. In addition to<br />

these suggestions, see the other Business Process Manager server tuning suggestions<br />

detailed in this document:<br />

►<br />

►<br />

►<br />

For JMS-based messaging used to communicate with older WebSphere Business<br />

Integration adapters or custom adapters, use non-persistent queues when possible.<br />

For JMS-based messaging used to communicate with older WebSphere Business<br />

Integration adapters or custom adapters, use WebSphere MQ-based queues, if available.<br />

By default, the adapters use the WebSphere MQ APIs to connect to the service integration<br />

bus destinations through MQ Link. MQ Link is a protocol translation layer that converts<br />

messages to and from MQ-based clients. By switching to WebSphere MQ-based queues,<br />

MQLink translation costs are eliminated and performance is improved.<br />

Turn off server logs for verbose workloads. Some workloads emit log entries for every<br />

transaction, causing constant disk writes and reducing overall throughput. Turning off<br />

server logs might reduce the throughput degradation for such workloads.<br />

Chapter 4. Performance tuning and configuration 95

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!