Troubleshooting
Problem
If you are experiencing performance degradation, hang, no response, hung threads, CPU starvation, high CPU utilization, or deadlocks, this MustGather assists you in collecting the critical data that is needed to troubleshoot your issue.
Diagnosing The Problem
If verboseGC is not enabled, enable it per "Enabling verbose garbage collection (verboseGC) in WebSphere Application Server".
Click wasperf.py here to download.
While the issue is occurring, run the script using the following command from the bin directory of the profile running the WebSphere Application Server instance. If you want to trigger data collection on a specific event, refer to the additional instructions at the bottom of the page.
<was_root or profile_root>/bin/wsadmin.(bat|sh) -lang jython -f <path to>/wasperf.py server_name1 server_name2To include node(s), quote the node name with a colon and separate server names with a space. To add another node, add a space between the quoted node names.
<was_root or profile_root>/bin/wsadmin.(bat|sh) -lang jython -f <path to>/wasperf.py "node_name1:server_name1 server_name2" "node_name2:server_name"Replace server_name with the name of the server experiencing high CPU or performance problems. Add the node_name if needed. Typically, the server_name is sufficient but the node_name becomes necessary if the server_name is repeated across different nodes on the same machine.
If security is enabled, please supply the correct WebSphere Application Server ID and password when prompted.
The following options can be added to the wasperf command line to change default values.
# How many javacores you want to produce. Default is 9 (8 plus one)
--iteration=<value>
# Time interval in seconds between collections. Default is 30.
--delay=<value>
# Enable collection of OS statistics. Disabled by default.
--collect-osTo include a runtime trace specification, add --runtime-trace=<value> to the wasperf command line. NOTE: This is not a startup trace specification.
Follow the instruction printed by the script when it is complete and upload the data to IBM Support:
Enhanced Customer Data Repository (ECuRep) - Send data
https://www.ibm.com/support/pages/enhanced-customer-data-repository-ecurep-send-data
Blue Diamond: Customer diagnostic data upload instructions
https://www.ibm.com/support/pages/blue-diamond-customer-diagnostic-data-upload-instructions
To monitor a specific event that initiates data collection, select the following tabs that fit your issue:
NOTE: This does not work on AIX which is being explored.
Use --cpu-threshold=<value> in the command line to start data collection when the CPU threshold is reached. For example:
<was_root or profile_root>/bin/wsadmin.(bat|sh) -lang jython -f <path to>/wasperf.py server_name1 server_name2 --cpu-threshold=70By default, it checks the CPU usage for the process every 30 seconds. To change the interval, use --check-cpu-interval=<value> .
<was_root or profile_root>/bin/wsadmin.(bat|sh) -lang jython -f <path to>/wasperf.py server_name1 server_name2 --cpu-threshold=70 -check-cpu-interval=15Document Location
Worldwide
[{"Type":"MASTER","Line of Business":{"code":"LOB77","label":"Automation Platform"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"ARM Category":[{"code":"a8m50000000CdBVAA0","label":"WebSphere Application Server traditional-All Platforms-\u003EHang Performance CPU"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"8.5.5;9.0.0;9.0.5"}]
Was this topic helpful?
Document Information
Modified date:
09 December 2025
UID
ibm17159085