jmeter个人学习--内存溢出及解决方案
2017-06-27 12:15
148 查看
使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="-Xmx2048m -Xms2048m -Xmn256m -XX:PermSize=128m -Xss256k",但结果运行时间增加了,但最终还是报内存溢出,百度后按照网友的建议更改了如下设置后jmeter就没有再卡了:
解决方案:使用jmeter3.1版本试下,我这里运行之后就不会出现这个情况(上图所是3.2版本的)
方法一:
使用jmeter进行压力测试时 遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="- Xmx2048m -Xms2048m -Xmn256m -XX:PermSize=128m -Xss256k",但结果运行时间增加了,但最终还是报内存溢出,百度后按照网友的建议更改了如下设置后jmeter就没有再卡了:
windows环境下,修改jmeter.bat:
set HEAP=-Xms256m -Xmx256m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
改为:
set HEAP=-Xms256m -Xmx1024m
set NEW=-XX:NewSi
4000
ze=128m -XX:MaxNewSize=512m
linux环境下,修改jmeter.sh:
java JVMARGS?Xms1G?Xmx5G?XX:MaxPermSize=512m?Dapple.laf.useScreenMenuBar=true?jar‘dirname0`/ApacheJMeter.jar "$@"
方法二:
更改jmeter.bat文件的配置全部都加大
但是最大不超过1500,不然jmeter无法启动,也不知道为什么,主要更改的配置如下
set HEAP=-Xms900m -Xmx1324m
set NEW=-XX:NewSize=500m -XX:MaxNewSize=912m
set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=2
set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000
set PERM=-XX:PermSize=128m -XX:MaxPermSize=128m
1、windows环境下,修改jmeter.bat:
set HEAP=-Xms256m -Xmx256m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
改为:
set HEAP=-Xms256m -Xmx1024m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
根据经验,heap最多设置为物理内存的一半,默认设置为512M.如果heap超过物理内存的一半,可能运行jmeter会慢,甚至出现内存溢出,原因java比较吃内存,占CPU.
注意:JDK32位的电脑Xmx不能超过1500m,最大1378m.否则在启动Jmeter时会报错:
2、linux环境下,修改jmeter.sh:
java $JVM_ARGS -Xms1G -Xmx5G -XX:MaxPermSize=512m -Dapple.laf.useScreenMenuBar=true -jar `dirname $0`/ApacheJMeter.jar
"$@"
3、如果查看JDK的位数
解决方案:使用jmeter3.1版本试下,我这里运行之后就不会出现这个情况(上图所是3.2版本的)
方法一:
使用jmeter进行压力测试时 遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="- Xmx2048m -Xms2048m -Xmn256m -XX:PermSize=128m -Xss256k",但结果运行时间增加了,但最终还是报内存溢出,百度后按照网友的建议更改了如下设置后jmeter就没有再卡了:
windows环境下,修改jmeter.bat:
set HEAP=-Xms256m -Xmx256m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
改为:
set HEAP=-Xms256m -Xmx1024m
set NEW=-XX:NewSi
4000
ze=128m -XX:MaxNewSize=512m
linux环境下,修改jmeter.sh:
java JVMARGS?Xms1G?Xmx5G?XX:MaxPermSize=512m?Dapple.laf.useScreenMenuBar=true?jar‘dirname0`/ApacheJMeter.jar "$@"
方法二:
更改jmeter.bat文件的配置全部都加大
但是最大不超过1500,不然jmeter无法启动,也不知道为什么,主要更改的配置如下
set HEAP=-Xms900m -Xmx1324m
set NEW=-XX:NewSize=500m -XX:MaxNewSize=912m
set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=2
set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000
set PERM=-XX:PermSize=128m -XX:MaxPermSize=128m
1、windows环境下,修改jmeter.bat:
set HEAP=-Xms256m -Xmx256m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
改为:
set HEAP=-Xms256m -Xmx1024m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
根据经验,heap最多设置为物理内存的一半,默认设置为512M.如果heap超过物理内存的一半,可能运行jmeter会慢,甚至出现内存溢出,原因java比较吃内存,占CPU.
注意:JDK32位的电脑Xmx不能超过1500m,最大1378m.否则在启动Jmeter时会报错:
2、linux环境下,修改jmeter.sh:
java $JVM_ARGS -Xms1G -Xmx5G -XX:MaxPermSize=512m -Dapple.laf.useScreenMenuBar=true -jar `dirname $0`/ApacheJMeter.jar
"$@"
3、如果查看JDK的位数
# java -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode) 如果是64位的话,最后一行会显示64-Bit #java -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
相关文章推荐
- JMeter学习 内存溢出解决方法
- JMeter学习(二十八)内存溢出解决方法
- JMeter学习(十)内存溢出解决方法
- jmeter个人学习之路--常见问题及解决方案
- JMeter学习-内存溢出解决方法
- tomcat7内存溢出错误的一些原因和解决方案
- EAS服务器内存溢出、宕机解决方案-Heapdump与JavaCore分析
- java内存管理的一些基础,内存溢出的解决方案
- 内存溢出原因及解决方案
- 我的listview 图片 内存溢出 解决方案
- 关于Jmeter测试数据库压力的时候抛出内存溢出outofmemory的解决方法
- tomcat7内存溢出错误的一些原因和解决方案
- 使用myeclipse启动tomcat提示内存溢出的解决方案
- Tomcat内存设置详解及内存溢出时的解决方案
- Linux配置内存依旧报内存溢出--解决方案 [
- Java之美之Java内存溢出闲谈解决方案
- java web开发中遇到的问题及解决方案(个人学习日志,持续更新)
- 下载大量图片内存溢出的解决方案(使用SoftReference<Drawable>)
- WEBLOGIC 内存溢出 解决方案
- JVM学习笔记-内存溢出