How to capture a Java thread dump using jstack

When troubleshooting various problems on the Content Gateway one might need to capture a Java thread dump. This KB article explains how to do that using jstack.

Prerequisites

jstack needs to be installed, and may not be installed by default. To check whether jstack is installed or not please run the following command

if jstack -h 2>/dev/null; then echo "jstack is Installed"; else echo "jstack is Not Installed"; fi

If jstack is installed, progress to the "Instructions" section below. If not please install the OpenJDK development package according to the current version of Cloud Gateway.

Check your existing CloudGateway server level:

rpm -qa | grep caringo-gateway-[0-9]

If you are currently running Gateway version 7.10.7 or earlier, then please install using:

yum install java-1.8.0-openjdk-devel

if you are currently running Gateway version 8.0 or later, then please install using:

Instructions

  1. Find out the PID of the Content Gateway process by running this command

  2. Capture the thread dump using jstack by running this command using the PID determined at step 1

  3. If the above command does not capture anything, try running this to force a thread dump from a non-responsive process:

  4. Repeat the jstack commands 3 times total a few seconds apart like this:

    or

© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.