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.