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.