Troubleshoot the WebSphere® Application
Server full profile.
Subtopics:
How do I troubleshoot?
Follow these shortcuts to get started quickly with popular
tasks.
Debugging applications
To debug your application, you must use a development environment
like the IBM® Rational® Application Developer
for WebSphere to create a Java project.
You must then import the program that you want to debug into the project.
Configuring Java logging using the administrative console
Java logging provides
a standard logging API for your applications. Before applications
can log diagnostic information, you need to specify how you want the
server to handle log output and what level of logging you require.
Using sensitive log and trace guard
You can protect information with the sensitive log and
trace guard. The sensitive log and trace guard prevents loggers from
writing sensitive information in your log and trace files.
Diagnosing problems (using diagnosis tools)
Various diagnosis tools are provided to help you determine
the source and impact of problems occurring in your application serving
environment.
Working with trace
Use trace to obtain detailed information about running
the WebSphere Application Server components,
including application servers, clients, and other processes in the
environment.
Troubleshooting class loaders
Class loaders find and load class files. For a deployed
application to run properly, the class loaders that affect the application
and its modules must be configured so that the application can find
the files and resources that it needs. Diagnosing problems with class
loaders can be complicated and time-consuming. To diagnose and fix
the problems more quickly, use the administrative console class loader
viewer to examine class loaders and the classes loaded by each class
loader.
Using RMF
RMF™ can usually be started with the simple 'S
RMF' command from the MVS™ console.
Collecting job-related information with the System Management Facility (SMF)
SMF can be enabled to collect and record system and work-related
information on the WebSphere for z/OS® system.
This information can be used to bill users, report system reliability,
analyze your configuration, schedule work, identify system resource
usage, and perform other performance-related tasks that your organization
may require.
Configuring the hang detection policy
The hang detection option for WebSphere Application
Server is turned on by default. You can configure a hang detection
policy to accommodate your applications and environment so that potential
hangs can be reported, providing earlier detection of failing servers.
When a hung thread is detected, WebSphere Application
Server notifies you so that you can troubleshoot the problem.
Working with troubleshooting tools
WebSphere Application Server includes a
number of troubleshooting tools that are designed to help you isolate
the source of problems. Many of these tools are designed to generate
information to be used by IBM Support, and their output might
not be understandable by the customer.
Working with Diagnostic Providers
Diagnostic Providers enable you to query the startup configuration,
current configuration, and current state of a diagnostic domain. In
addition, Diagnostic Providers can also provide access to any self diagnostic
tests that are available from a diagnostic domain.
Troubleshooting help from IBM
If you are not able to resolve a WebSphere Application Server problem by
following the steps described in the troubleshooting topics, by looking
up error messages in the message reference, or looking for related
documentation on the online help, contact IBM Technical Support.
Default behavior for OutOfMemory exceptions
WebSphere Application
Server supports IBM Java 6 R26 and later versions on supported operating
systems. The default behavior has changed.
Configuring the memory leak policy
The leak detection policy for the WebSphere® Application
Server is turned off by default. You can configure a leak detection,
prevention, and action policy to accommodate your applications and
environment so that potential memory leaks are reported and acted
upon. Leak detection, prevention, and proactive fixing provides for
protection and resiliency for servers that face persistent out of
memory errors. When a classloader memory leak is detected, WebSphere Application Server
notifies you with informational messages in the log and by taking
JVM heapdumps so that you can troubleshoot the problem. Optionally,
you might also choose to have WebSphere Application
Server mitigate, and if possible, fix the memory leak using reflection
and other techniques.
Directory conventions
References in product information to app_server_root, profile_root,
and other directories imply specific default directory locations.
Become familiar with the conventions in use for WebSphere Application
Server.
Troubleshooting ActivitySessions
This page provides a starting point for finding information
about ActivitySessions, a WebSphere extension for reducing the complexity
of commitment rules and limitations that are associated with one-phase
commit resources.
Troubleshooting Application profiling
This page provides a starting point for finding information
about application profiling, a WebSphere extension for defining strategies
to dynamically control concurrency, prefetch, and read-ahead.
Troubleshooting batch applications
You can troubleshoot batch application issues using logging
and tracing, or reviewing solutions to problems.
Troubleshooting applications that use the Bean Validation API
The Bean Validation API is introduced with the Java Enterprise Edition 6 platform
as a standard mechanism to validate Enterprise JavaBeans in all layers
of an application, including, presentation, business and data access.
Before the Bean Validation specification, the JavaBeans were validated
in each layer. To prevent the reimplementation of validations at
each layer, developers bundled validations directly into their classes
or copied validation code, which was often cluttered. Having one implementation
that is common to all layers of the application simplifies the developers
work and saves time.
Troubleshooting Client applications
This page provides a starting point for finding information
about application clients and client applications. Application clients
provide a framework on which application code runs, so that your client
applications can access information on the application server.
Troubleshooting Data access resources
This page provides a starting point for finding information
about data access. Various enterprise information systems (EIS) use
different methods for storing data. These backend data stores might
be relational databases, procedural transaction programs, or object-oriented
databases.
Troubleshooting Dynamic caching
This page provides a starting point for finding information
about the dynamic cache service, which improves performance by caching
the output of servlets, commands, web services, and JavaServer Pages
(JSP) files.
Troubleshooting Messaging resources
This page provides a starting point for finding information
about the use of asynchronous messaging resources for enterprise applications
with WebSphere Application Server.
Troubleshooting Naming and directory
This page provides a starting point for finding information
about naming support. Naming includes both server-side and client-side
components. The server-side component is a Common Object Request Broker
Architecture (CORBA) naming service (CosNaming). The client-side component
is a Java Naming and Directory Interface (JNDI) service provider.
JNDI is a core component in the Java Platform, Enterprise Edition
(Java EE) programming model.
Troubleshooting Object Request Broker (ORB)
This page provides a starting point for finding information
about the Object Request Broker (ORB). The product uses an ORB to
manage communication between client applications and server applications
as well as among product components. These Java Platform, Enterprise
Edition (Java EE) standard services are relevant to the ORB: Remote
Method Invocation/Internet Inter-ORB Protocol (RMI/IIOP) and Java
Interface Definition Language (Java IDL).
Troubleshooting Session Initiation Protocol (SIP) applications
This page provides a starting point for finding information
about SIP applications, which are Java programs that use at least
one Session Initiation Protocol (SIP) servlet written to the JSR 116
specification.
Troubleshooting Transactions This page provides a starting point for
finding information about Java Transaction
API (JTA) support. Applications running on the server can use transactions
to coordinate multiple updates to resources as one unit of work, such
that all or none of the updates are made permanent.
Troubleshooting web applications
This page provides a starting point for finding information
about web applications, which are comprised of one or more related
files that you can manage as a unit, including:
How do I troubleshoot?
Follow these shortcuts to get started quickly with popular
tasks.
Debugging applications
To debug your application, you must use a development environment
like the IBM® Rational® Application Developer
for WebSphere to create a Java project.
You must then import the program that you want to debug into the project.
Configuring Java logging using the administrative console
Java logging provides
a standard logging API for your applications. Before applications
can log diagnostic information, you need to specify how you want the
server to handle log output and what level of logging you require.
Using sensitive log and trace guard
You can protect information with the sensitive log and
trace guard. The sensitive log and trace guard prevents loggers from
writing sensitive information in your log and trace files.
Diagnosing problems (using diagnosis tools)
Various diagnosis tools are provided to help you determine
the source and impact of problems occurring in your application serving
environment.
Working with trace
Use trace to obtain detailed information about running
the WebSphere Application Server components,
including application servers, clients, and other processes in the
environment.
Troubleshooting class loaders
Class loaders find and load class files. For a deployed
application to run properly, the class loaders that affect the application
and its modules must be configured so that the application can find
the files and resources that it needs. Diagnosing problems with class
loaders can be complicated and time-consuming. To diagnose and fix
the problems more quickly, use the administrative console class loader
viewer to examine class loaders and the classes loaded by each class
loader.
Using RMF
RMF™ can usually be started with the simple 'S
RMF' command from the MVS™ console.
Collecting job-related information with the System Management Facility (SMF)
SMF can be enabled to collect and record system and work-related
information on the WebSphere for z/OS® system.
This information can be used to bill users, report system reliability,
analyze your configuration, schedule work, identify system resource
usage, and perform other performance-related tasks that your organization
may require.
Configuring the hang detection policy
The hang detection option for WebSphere Application
Server is turned on by default. You can configure a hang detection
policy to accommodate your applications and environment so that potential
hangs can be reported, providing earlier detection of failing servers.
When a hung thread is detected, WebSphere Application
Server notifies you so that you can troubleshoot the problem.
Working with troubleshooting tools
WebSphere Application Server includes a
number of troubleshooting tools that are designed to help you isolate
the source of problems. Many of these tools are designed to generate
information to be used by IBM Support, and their output might
not be understandable by the customer.
Working with Diagnostic Providers
Diagnostic Providers enable you to query the startup configuration,
current configuration, and current state of a diagnostic domain. In
addition, Diagnostic Providers can also provide access to any self diagnostic
tests that are available from a diagnostic domain.
Troubleshooting help from IBM
If you are not able to resolve a WebSphere Application Server problem by
following the steps described in the troubleshooting topics, by looking
up error messages in the message reference, or looking for related
documentation on the online help, contact IBM Technical Support.
Default behavior for OutOfMemory exceptions
WebSphere Application
Server supports IBM Java 6 R26 and later versions on supported operating
systems. The default behavior has changed.
Configuring the memory leak policy
The leak detection policy for the WebSphere® Application
Server is turned off by default. You can configure a leak detection,
prevention, and action policy to accommodate your applications and
environment so that potential memory leaks are reported and acted
upon. Leak detection, prevention, and proactive fixing provides for
protection and resiliency for servers that face persistent out of
memory errors. When a classloader memory leak is detected, WebSphere Application Server
notifies you with informational messages in the log and by taking
JVM heapdumps so that you can troubleshoot the problem. Optionally,
you might also choose to have WebSphere Application
Server mitigate, and if possible, fix the memory leak using reflection
and other techniques.
Directory conventions
References in product information to app_server_root, profile_root,
and other directories imply specific default directory locations.
Become familiar with the conventions in use for WebSphere Application
Server.
Troubleshooting ActivitySessions
This page provides a starting point for finding information
about ActivitySessions, a WebSphere extension for reducing the complexity
of commitment rules and limitations that are associated with one-phase
commit resources.
Troubleshooting Application profiling
This page provides a starting point for finding information
about application profiling, a WebSphere extension for defining strategies
to dynamically control concurrency, prefetch, and read-ahead.
Troubleshooting batch applications
You can troubleshoot batch application issues using logging
and tracing, or reviewing solutions to problems.
Troubleshooting applications that use the Bean Validation API
The Bean Validation API is introduced with the Java Enterprise Edition 6 platform
as a standard mechanism to validate Enterprise JavaBeans in all layers
of an application, including, presentation, business and data access.
Before the Bean Validation specification, the JavaBeans were validated
in each layer. To prevent the reimplementation of validations at
each layer, developers bundled validations directly into their classes
or copied validation code, which was often cluttered. Having one implementation
that is common to all layers of the application simplifies the developers
work and saves time.
Troubleshooting Client applications
This page provides a starting point for finding information
about application clients and client applications. Application clients
provide a framework on which application code runs, so that your client
applications can access information on the application server.
Troubleshooting Data access resources
This page provides a starting point for finding information
about data access. Various enterprise information systems (EIS) use
different methods for storing data. These backend data stores might
be relational databases, procedural transaction programs, or object-oriented
databases.
Troubleshooting Dynamic caching
This page provides a starting point for finding information
about the dynamic cache service, which improves performance by caching
the output of servlets, commands, web services, and JavaServer Pages
(JSP) files.
Troubleshooting Messaging resources
This page provides a starting point for finding information
about the use of asynchronous messaging resources for enterprise applications
with WebSphere Application Server.
Troubleshooting Naming and directory
This page provides a starting point for finding information
about naming support. Naming includes both server-side and client-side
components. The server-side component is a Common Object Request Broker
Architecture (CORBA) naming service (CosNaming). The client-side component
is a Java Naming and Directory Interface (JNDI) service provider.
JNDI is a core component in the Java Platform, Enterprise Edition
(Java EE) programming model.
Troubleshooting Object Request Broker (ORB)
This page provides a starting point for finding information
about the Object Request Broker (ORB). The product uses an ORB to
manage communication between client applications and server applications
as well as among product components. These Java Platform, Enterprise
Edition (Java EE) standard services are relevant to the ORB: Remote
Method Invocation/Internet Inter-ORB Protocol (RMI/IIOP) and Java
Interface Definition Language (Java IDL).
Troubleshooting Session Initiation Protocol (SIP) applications
This page provides a starting point for finding information
about SIP applications, which are Java programs that use at least
one Session Initiation Protocol (SIP) servlet written to the JSR 116
specification.
Troubleshooting Transactions This page provides a starting point for
finding information about Java Transaction
API (JTA) support. Applications running on the server can use transactions
to coordinate multiple updates to resources as one unit of work, such
that all or none of the updates are made permanent.
Troubleshooting web applications
This page provides a starting point for finding information
about web applications, which are comprised of one or more related
files that you can manage as a unit, including: