2016-06-16 13 views
2

gelöscht. Wir haben 32-Bit-JDK und jMeter 2.6 ausgeführt, und bei der Simulation von 8000 im Laufe einer Stunde verteilten Benutzern traten Heap-Speicherprobleme auf.Beim Aufrufen von jMeter über die Befehlszeile mit 64-Bit-Direktive wird die Klasse

Wir aktualisiert auf 64-Bit-Java und jMeter 2.12.

Java(TM) SE Runtime Environment (build 1.7.0_79-b15) 
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) 

Wenn wir von der Kommandozeile eines 4Gb Heap anfordert (der Server hat 32Gb), erhalten wir die Nachricht, dass die anfängliche Heap-Größe zu groß ist.

set JVM_ARGS="-Xms4G -Xmx4G -XX:NewSize=512m -XX:MaxNewSize=1G" jmeter.sh 

Wenn wir die Option -d64 zu JVM_ARGS hinzufügen, die wir erhalten, nicht mehr den Fehler über die Heap-Größe, aber es nicht mehr findet die Klasse

set JVM_ARGS="-d64 -Xms4G -Xmx4G -XX:NewSize=512m -XX:MaxNewSize=1G" jmeter.sh 

es in das Verzeichnis Pointing zu haben scheint keine Wirkung

set JVM_ARGS="-d64 -Xms4G -Xmx4G -XX:NewSize=512m -XX:MaxNewSize=1G -cp mypath" jmeter.sh 

Antwort

2
  1. Blick in jmeter.sh es scheint, Sie versuchen, JMeter auf Linux oder Mac OS X laufen. Ich glaube, Sie set Wort entfernen müssen (oder ersetzen Sie es durch export)
  2. Angenommen, Sie haben richtig java ausführbare Datei in PATH -d64 Option Bereitstellung sollte nicht erforderlich. Etwas wie:

    JAVA_HOME=/path/to/64-bit/jdk && export JAVA_HOME 
    PATH=$JAVA_HOME/bin:$PATH && export PATH 
    
  3. Sie jmeter Skript bearbeiten und ändern Sie die folgenden Zeilen:

    HEAP="-Xms512m -Xmx512m" 
    NEW="-XX:NewSize=128m -XX:MaxNewSize=128m" 
    

    "Telling" Jmeter Concurrent Mark Sweep (CMS) Garbage Collector verwenden können auch stark JMeter seitige Leistung verbessern. Die entsprechende Zeile ist:

    -XX:+UseConcMarkSweepGC 
    

Siehe 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure Artikel für weitere Informationen über das Beste aus Ihrer JMeter Installation zu bekommen.

+0

Eigentlich läuft es auf Windows Server 8.1. – Ayen