Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Probleem

Problemen oplossen

Stappen om een afvalhoop te maken

Stappen om thread te zetten

Inleiding

Dit document beschrijft hoe u Heap Dodump en Thread kunt verzamelen voor Tomcat bij Cisco Customer Voice Portal (CVP) Voice eXtensible Markup Language Server (VXML).

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- CVP

- CVP VXML-server

- CVP VXML-toepassingen

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- CVP versie 11.5

- CVP VXML Server 1.5

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden gebruikt, zijn gestart met een gewalste (standaard) configuratie. Als uw netwerk levend is, zorg er dan voor dat u de mogelijke impact van om het even welke opdracht begrijpt.

Probleem

Scenario 1. Terwijl je de prestaties van VXML Server controleert ontdekte je dat het 4 GB geheugen gebruikt.  Je zou graag willen weten wat de oorzaak is van het geheugenlek voordat het crasht.

Scenario 2. Terwijl je VXML Server controleert, ontdekte je dat VXML server hoge draden gebruikt ( ~ 500), wat vrij ongebruikelijk is. U wilt graag weten hoe u het thread-gebruik wilt analyseren en hoe u de thread-status en de component/applicatie kunt ontdekken die meer threads vereist.

Bijvoorbeeld: VXML Tomcat verbruikt 4,5 GB totaal geheugen, zoals in de afbeelding wordt getoond.

VXML-geheugen bij 4,5 GB

Problemen oplossen

Stappen om een afvalhoop te maken

Stap 1. Download de JDK-versie vergelijkbaar met de versie die in het CVP is geïnstalleerd

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)

Stap 2. Kopieer JDK van het bureaublad naar de CVP-server.

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"

Opmerking: Download JDK eenvoudig van http://www.oracle.com/technetwork/java/javaee/downloads/index.html en installeer EXE in lokale map en kopieer de JDK van uw lokale machine naar CVP.

Stap 3. Verzamel de ProcesID (PID) van de VXML Server van de Automation Manager.

Stap 4. Voer deze opdracht uit om HeapDump te verzamelen. ( Ex: jmap -stop:file=vxml.hprof <PID VAN TOMCAT-instantie).

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>

Opmerking: uw profiel is gemaakt en u kunt naar het lokale systeem kopiëren en offline controleren.

Stappen om thread te zetten

Het ophalen van afval is relatief eenvoudig vergeleken met het dumpen.

Stap 1. Connect met CVP VXML Server op <CVP VXML Server>:9696 (9696 is standaard JMX Port voor VXML Server) die jVisualVM gebruikt.

Stap 2. Klik op de JXM-aansluiting en verzamel de dop.

Stap 3. Deze thread dumpt in de externe server, waar het als bestand kan worden opgeslagen en voor verdere analyse kan worden gebruikt.