Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Problema

Troubleshoot

Pasos para obtener volcado de memoria

Pasos para obtener el volcado de subprocesos

Introducción

Este documento describe cómo recopilar el vaciado de montón y el volcado de subprocesos para Tomcat desde Cisco Customer Voice Portal (CVP) Voice eXtensible Markup Language Server (VXML).

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- CVP

- Servidor CVP VXML

- Aplicaciones VXML de CVP

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- CVP versión 11.5

- CVP VXML Server 11.5

The information in this document was created from the devices in a specific lab environment. Todos los dispositivos que se utilizan en este documento se iniciaron con una configuración sin definir (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Problema

Escenario 1. Al supervisar el rendimiento del servidor VXML, se ha descubierto que utiliza 4 GB de memoria.  Le gustaría saber la causa raíz de la pérdida de memoria antes de que se produzca un desperfecto.

Situación hipotética 2. Mientras supervisaba el servidor VXML, descubrió que el servidor VXML utiliza subprocesos altos ( ~ 500), lo que es bastante inusual. Le gustaría saber cómo analizar el uso del subproceso y averiguar el estado del subproceso y el componente/aplicación que requiere más subprocesos.

Por ejemplo: VXML Tomcat consume 4,5 GB de memoria total, como se muestra en la imagen.

Memoria VXML a 4,5 GB

Troubleshoot

Pasos para obtener volcado de memoria

Paso 1. Descargar versión de JDK similar a la versión instalada en CVP

C:\Cisco\CVP\jre\bin>java -version

java version "1.7.0_51"

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode)

Paso 2. Copie JDK del escritorio al servidor CVP.

Download windows JDK exe

Open with 7-Zip

Dump contents into a directory %JDK-EXE%

cmd: cd %JDK-EXE%.rsrc\1033\JAVA_CAB10

cmd: extrac32 111

Now have a tools.zip in directory, open it in 7-Zip

Extract contents into a new directory %JDK-VERSION%

cmd: cd %JDK-VERSION%

cmd: for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"

Nota: Simplemente descargue JDK de http://www.oracle.com/technetwork/java/javaee/downloads/index.html e instale EXE en la carpeta local y copie el JDK de su equipo local en CVP .

Paso 3. Recopile la ID de proceso (PID) del servidor VXML del Administrador de tareas.

Paso 4. Ejecute este comando para recolectar HeapDump. ( Ej.: jmap -dump:file=vxml.hprof <PID OF TOMCAT Instance).

C:\jdk1.7.0_80\jdk1.7.0_80\bin>jmap -dump:file=vxml.hprof 1308

Dumping heap to C:\jdk1.7.0_80\jdk1.7.0_80\bin\vxml.hprof ...

Heap dump file created

C:\jdk1.7.0_80\jdk1.7.0_80\bin>

Nota: Se ha creado su profesor y puede copiar en el sistema local y supervisar sin conexión.

Pasos para obtener el volcado de subprocesos

La recolección de volcado de subprocesos es relativamente fácil comparada con el volcado de la pila.

Paso 1. Conéctese a CVP VXML Server en <CVP VXML Server>:9696 ( 9696 es el puerto JMX predeterminado para VXML Server) que utiliza jVisualVM.

Paso 2. Haga clic con el botón derecho en Conexión JXM y Recolectar volcado de hilo.

Paso 3. Aquí, el volcado de subprocesos se descargó en el servidor remoto, donde se puede guardar como archivo y utilizar para análisis adicionales.