diff --git a/README.md b/README.md index 4ca6b49b..35dfe2ca 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ - [Logging](#logging) - [Session Caching](#session-caching) - [Applying Interim Fixes](#applying-interim-fixes) + - [Running Liberty MustGather](#running-liberty-mustgather) - [Known Issues](#known-issues) - [Generating system dumps for pods in Kubernetes](#generating-system-dumps-for-pods-in-kubernetes) - [Contributions](#contributions) @@ -265,6 +266,19 @@ The Liberty session caching feature builds on top of an existing technology call The process to apply interim fixes (iFix) is defined [here](releases/applying-ifixes/README.md). +## Running Liberty MustGather + +The [Liberty MustGather script](https://www.ibm.com/support/pages/mustgather-performance-hang-or-high-cpu-issues-liberty-linux) can be run within your container to collect critical data for debugging issues relating to performance degradation, hang, no response, hung threads, CPU starvation, high CPU utilization, or deadlocks with Liberty on Linux. + +Include the following snippet into your Dockerfile definition to install the required packages for running `linperf.sh` in the Liberty container. + +``` +# Temporarily provide root access to install required packages +USER 0 +RUN performance-data-setup.sh +USER 1001 +``` + ## Known Issues ### Generating system dumps for pods in Kubernetes diff --git a/releases/latest/beta/helpers/build/performance-data-setup.sh b/releases/latest/beta/helpers/build/performance-data-setup.sh new file mode 100755 index 00000000..b0bbfb09 --- /dev/null +++ b/releases/latest/beta/helpers/build/performance-data-setup.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +. /opt/ol/helpers/build/internal/logger.sh + +set -Eeox pipefail + +pkgcmd=yum +if ! command $pkgcmd +then + pkgcmd=microdnf +fi + +$pkgcmd update -y +$pkgcmd install -y procps-ng net-tools ncurses hostname \ No newline at end of file diff --git a/releases/latest/full/helpers/build/performance-data-setup.sh b/releases/latest/full/helpers/build/performance-data-setup.sh new file mode 100755 index 00000000..b0bbfb09 --- /dev/null +++ b/releases/latest/full/helpers/build/performance-data-setup.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +. /opt/ol/helpers/build/internal/logger.sh + +set -Eeox pipefail + +pkgcmd=yum +if ! command $pkgcmd +then + pkgcmd=microdnf +fi + +$pkgcmd update -y +$pkgcmd install -y procps-ng net-tools ncurses hostname \ No newline at end of file diff --git a/releases/latest/kernel-slim/helpers/build/performance-data-setup.sh b/releases/latest/kernel-slim/helpers/build/performance-data-setup.sh new file mode 100755 index 00000000..b0bbfb09 --- /dev/null +++ b/releases/latest/kernel-slim/helpers/build/performance-data-setup.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +. /opt/ol/helpers/build/internal/logger.sh + +set -Eeox pipefail + +pkgcmd=yum +if ! command $pkgcmd +then + pkgcmd=microdnf +fi + +$pkgcmd update -y +$pkgcmd install -y procps-ng net-tools ncurses hostname \ No newline at end of file