Per ottimizzare OutOfMemoryError
questi passaggi dovrebbe essere seguito:
- Aumentare la Java Heap Size:
JMeter è un tool Java che gira con JVM. Per ottenere la massima capacità, è necessario fornire le risorse massime a JMeter durante l'esecuzione. In primo luogo, è necessario aumentare la dimensione dell'heap (all'interno della directory bin JMeter, otteniamo jmeter.bat/sh
).
HEAP=-Xms512m –Xmx512m
Significa che le dimensioni heap allocate di default sono minime 512 MB, massimo 512 MB. Configuralo come da te configurazione della propria macchina. Va inoltre tenuto presente che il sistema operativo richiede anche una certa quantità di memoria, quindi non dovrebbe essere allocata tutta la RAM fisica.
- eseguire i test in non-GUI Modalità:
JMeter è Java GUI applicazione. Ha anche l'edizione non GUI che richiede molte risorse (CPU/RAM). Se eseguiamo Jmeter in modalità non GUI, esso consumerà risorse in meno e possiamo eseguire più thread.
- Disattivare TUTTI gli ascoltatori durante l'esecuzione di prova. Sono solo per il debug e li usano per progettare lo script desiderato.
Gli ascoltatori devono essere disabilitati durante i test di carico.Abilitandoli, si generano overhead aggiuntivi, che consumano risorse preziose che sono necessarie per elementi più importanti del test.
Java e JMeter deve essere tenuto aggiornato.
- decidere quali metriche necessarie per memorizzare:
Quando si tratta di richieste di memorizzazione e intestazioni di risposta, i risultati di asserzioni e dei dati di risposta può consumare molta memoria! Quindi è saggio cercare di non memorizzare questi valori su JMeter a meno che non sia assolutamente necessario.
I seguenti argomenti JVM in script di avvio JMeter possono anche essere aggiunti o modificati:
1. Aggiungere tasso di allocazione di memoria:
NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
Ciò significa che la memoria verrà aumentata a questo ritmo.
2.-server
- commuta JVM in modalità "server" con ottimizzazione dei parametri di runtime. In questa modalità, JMeter inizia più lentamente, ma il throughput complessivo sarà più alto.
3.-d64
- Durante l'utilizzo di un sistema operativo a 64 bit, l'utilizzo di questo parametro consente esplicitamente a JVM di funzionare in modalità a 64 bit.
4.-XX:+UseConcMarkSweepGC
- questo impone l'utilizzo del garbage collector CMS. Ridurrà il throughput complessivo ma porterà a una raccolta di dati inutili molto più corta della CPU.
5.-XX:+DisableExplicitGC
- questo impedisce alle applicazioni di forzare costose raccolte di dati inutili e consente di evitare pause impreviste.
Per una comprensione migliore e più elaborata, questo blog su 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure è utile.
Se si dispone di una buona macchina specifica quindi dovrai utilizzarla aumentando le dimensioni dell'heap o molte altre ragioni per questo errore, rimandalo per maggiori dettagli http://edu.yoursfriends.com/787/out-of-memory-error-in -jmeter –