Redwood Documentation

Product Documentation

 

›Application Servers

RunMyJobsTroubleshooting

Getting Support

  • Contacting Redwood Support Services

SAP Connector

  • Troubleshooting Connections to SAP Systems
  • Enabling XMI Logging to Troubleshoot Issues
  • Tuning Redwood Server Database Queries

Application Servers

  • Troubleshooting Redwood Server
  • Troubleshooting Performance and Memory Problems
  • Troubleshooting Performance and Memory Problems with an HP JVM
  • Troubleshooting Common Errors on Application Servers
  • Common Redwood Platform-Related Errors

Tracing and Debugging

  • Inspecting Log Files in Redwood Platform
  • Tracing and Debugging Redwood Server
  • Platform agent and System Tools logging
  • Tracing AS/400 Connections
  • Troubleshooting Credential Lookup

Common Errors

  • Common LDAP Errors
  • Common Redwood Server Errors
  • Common SAP-Related Errors
  • Common SAP BAE Errors
  • SAP BusinessObjects
  • Common External Platform-Related Errors
  • Common OracleJob-Related Errors
  • Common AS/400-Related Errors

Reference

  • JCS Errors
  • Common Logging Categories
  • GenDatabaseIndexes
← Troubleshooting Performance and Memory ProblemsTroubleshooting Common Errors on Application Servers →

on-site-related topic Troubleshooting Performance and Memory Problems with an HP JVM

When you encounter performance problems, you must first isolate the application that is causing the performance problems. You can stop the Redwood Server application in your application server and monitor system performance to see if the problem is related to Redwood Server.

Once you have determined that Redwood Server is the cause of performance issues, you contact your Redwood support services representative.

To analyse memory-related issues, you can be asked to create a thread or heap dump, also known as Javadump.

When Redwood support services request heap dumps, Redwood recommends you create at least three. The first should be created once the web application has initialized completely, the other at peak usage and the third as soon as response-times are very high. Remember that if you have been asked to create more, you should try to spread them evenly. Note also, that it is easier to analyse heap dumps when the difference in file size is big.

Thread Dumps

Thread dumps contain information about the threads that are active at the time of the dump. With an HP JVM, deadlocks are also printed in a thread dump.

To create a thread dump, you send the JVM process a SIGQUIT signal.

$kill -3 <pid>

You can use ps to locate the process ID of the JVM.

note

Ensure the environment variables and JVM parameters listed below for heap dumps are not set, or you will generate heap dumps instead, which are much more voluminous.

Heap Dumps

Heap dumps contain information about all objects that are referenced in memory at the time of the heap dump. This allows you to analyse memory usage and helps detect memory leaks.

note

Heap dumps can get very big and can cause temporary performance issues. You should not create heap dumps repeatedly within a short time-frame.

note

A full GC is performed prior to generating the heap dump.

You have the following options to generate heap dumps:

JVM Parameters

JVM ParameterTriggerFormatFile NameDescription
-XX:+HeapDumpSIGQUITASCIIjava_<pid>_<date>_<time>_heapDump.hprof.txtCreate a heap dump on SIGQUIT
-XX:+HeapDumpOnCtrlBreakSIGQUITBinaryjava_<pid>.hprof.<millitime>Create a binary heap dump on SIGQUIT
-XX:+HeapDumpOnOutOfMemoryErrorOut of MemoryBinaryjava_<pid>.hprofCreate a binary heap dump on OutOfMemoryErrors
-XX:HeapDumpPath=fileN/AN/AN/AUsed in conjunction with -XX:+HeapDumpOnOutOfMemoryError to specify a file name
-XX:+HeapDumpOnlySIGVTALRMASCIIjava_<pid>_<date>_<time>_heapDump.hprofCreate a heap dump only, the thread and trace dumps are suppressed

M!! Environment Variables

  • _JAVA_HEAPDUMP - environment variable to generate heap dumps, equivalent to -XX:+HeapDump
  • _JAVA_BINARY_HEAPDUMP - environment variable to get binary (with JVM parameters that generate heap dumps in ASCII)
  • _JAVA_HEAPDUMP_ONLY - environment variable to generate the heap dump only, the thread and trace dumps are suppressed

The advantage of environment variables resides in the fact that you do not need to change the startup command of the JVM.

Procedure

Creating a Thread Dump

$ kill -3 <pid>

Creating a Heap Dump

$ export _JAVA_HEAPDUMP=1
$ kill -3 <pid>

See Also

  • Troubleshooting Performance and Memory Problems

onsiteTopic

← Troubleshooting Performance and Memory ProblemsTroubleshooting Common Errors on Application Servers →
  • Thread Dumps
  • Heap Dumps
  • JVM Parameters
  • Procedure
  • Creating a Thread Dump
  • Creating a Heap Dump
  • See Also
Docs
Getting StartedInstallationFinance InstallationConcepts
TroubleshootingArchiving
Learn and Connect
Support Portal
BlogEventsResources
ISO/ IEC 27001 Information Security Management
Automate to be human

2023 All Rights Reserved |

Terms of Service | Policies | Cookies | Glossary | Third-party Software | Contact | Copyright | Impressum |