官方指定Jmeter配置JVM堆内存方式

1.概述

在使用Jmeter做性能测试过程中,可能会应为默认设置的堆内存值较小出现堆内存溢出问题,此时解决的方式有两种,分布式测试和调大堆内存。下面介绍官方推荐调整堆内存方法。

2.调整Jmeter堆内存

2.1.介绍官方推荐堆内存调整方法(jmeter在windows环境运行配置方式)

了解Jmeter最便捷的方式就是看官方文档,它提供了全方位的Jmeter介绍。如果没有阅读官方文档的习惯可能会走一些弯路,因此推荐一条好走的路。

官方文档地址:https://jmeter.apache.org/usermanual/get-started.html

1.Jmeter使用手册展示

2.带你从手册查找JVM正确的配置方式

点击Getting Started打开手册

在1.4章节Running Jmeter中官方介绍了配置环境变量的方式,就是在Jmeter的bin目录下新建一个setenv.bat文件,官方还给出了在文件中配置JVM参数的例子。

为什么网上提供的jmeter.bat文件修改jvm参数不生效那?官网也给出了答案。

原因是优先级顺序,setenv.bat文件配置会覆盖jmeter.bat配置内容。

2.2.介绍官方推荐堆内存调整方法(jmeter在linux环境运行配置方式)

1.linux和windows配置jvm区别

linux环境配置Jmeter的JVM参数和window环境配置原理一样,只有两点区别

Linux环境创建的setenv脚本文件后缀不是bat,是sh。(setenv.sh)

setenv.sh脚本文件语法格式稍有区别。window解析bat文件使用set语法设置变量,linux解析shell语言使用export设置变量。

2.官方提供的linux环境配置jvm方法

继续阅读官方手册1.4 Running JMeter章节,官方文档指出在bin目录中创建setenv.sh文件,并在该文件中配置jvm,所配置的内容将在Jmeter启动时候被jmeter脚本文件读取。

2.3.Jmeter配置JVM总结

1.windows配置jvm两种方式

在jmeter.bat文件中修改jvm参数,如下图。

在bin目录创建setenv.bat文件修改jvm参数,它的优先级高于jmeter.bat会覆盖该文件内容。

2.Linux环境配置jvm参数两种方式

在jmeter没有后缀的文件中配置jvm参数

jmeter配置jvm脚本

在bin目录下新建setenv.sh文件配置jvm参数,它的优先级高于jmeter脚本,覆盖该脚本参数。

3.配置jvm参数实例

3.1.Windows环境调整堆内存(jmeter.bat方式)

1.在jmeter.bat文件配置jvm参数

2.启动Jmeter验证jvm配置

使用Java VisualVM工具查看Jmeter设置的堆内存结果。

3.2.Windows环境调整堆内存(setenv.bat方式)

1.setenv.bat文件配置jvm

在bin目录下新建setenv.bat文件,在文件中配置JVM参数

rem This is the content of bin\setenv.bat,

rem it will be called by bin\jmeter.bat

set JVM_ARGS=-Xms256m -Xmx256m -XX:MaxMetaspaceSize=256m

2.启动Jmeter验证jvm配置

使用Java VisualVM工具查看Jmeter设置的堆内存结果。

3.3.Linux环境调整堆内存

1.创建setenv.sh文件

在jmeter的bin目录下新建setenv.sh配置文件,在文件中配置jvm参数

export JVM_ARGS="-Xms256m -Xmx256m -XX:MaxMetaspaceSize=256m"

2.启动jmeter脚本查看jvm参数

命令方式启动jmeter脚本

// jmeter命令调用的就是bin目录下的jmeter脚本文件,因此他会在启动时读取setenv.sh文件中jvm参数。

jmeter -n -t ./JmeterScript/LiveStreaming.jmx

查看Jmeter的jvm参数和设置值一致

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stable diffusion 极简入门 核心 概念介绍 使用

一、怎么写提示词(prompt) 1.1 结构 一般分三部分,按从前到后的顺序:画面质量or风格、画面主体内容、其他细节/背景。 画面质量:如,masterpiece,best quality,highly detailed画面主体内容:如…

Android Studio 显示Cause: connect timed out

在启动其他地方复制下来的项目时,可能会出现Cause: connect timed out报错,大概率由于项目与AndroidStudio使用的Gradle 版本不一致导致。 请检查,包名 / gradle / wrapper / gradle-wrapper.properties 文件 ,文件中的distribut…

mysql原理--连接的原理

1.连接简介 1.1.连接的本质 为了故事的顺利发展,我们先建立两个简单的表并给它们填充一点数据: mysql> CREATE TABLE t1 (m1 int, n1 char(1)); mysql> CREATE TABLE t2 (m2 int, n2 char(1)); mysql> INSERT INTO t1 VALUES(1, a), (2, b), (…

攻防世界-web-ics07

1. 题目描述 工控云管理系统项目管理页面解析漏洞 打开链接,是这样的一个界面 我们点击项目管理 可以看到,这里有一个查询界面,还有个view-source的链接,我们点击下view-source,可以看到这里面共有三段php代码 第一段…

在Spring Cloud中使用Zuul网关实现一个案例

本篇依旧是在Spring Cloud系列的博主已经搭建的Spring Cloud微服务模块上进行的,注意,本文依旧适合初学者和或者在Spring Cloud框架了解不是很深入的基础的开发者,本系列说不上有多高大上,博主坚持通过简单的案例,让开…

JavaFX实现简单下雨动效

下雨动效可以使用JavaFX的动画功能来实现。下面是一个简单的示例代码,实现了一个下雨的动画效果: import javafx.animation.Animation; import javafx.animation.KeyFrame; import javafx.animation.KeyValue; import javafx.animation.Timeline; import javafx.application…

嵌入式中GPIO的工作原理-面试工作必会技能

GPIO工作方式 1、4种输入模式 输入浮空输入上拉输入下拉模拟输入 如下图为GPIO的基本结构,它主要由4部分组成,其中我们所看到的的最右边的I/O引脚,也就是芯片外接可看到的引脚,其它的部分都是GPIO内部的结构。 ①保护二极管 保护…

【新版HI3559AV100开发注意事项(二)】

#新版HI3559AV100开发注意事项(二) 十一、请问海思HI3559AV100 SPC030资料里面的HI3559ADMEB_VER_C_PCB.pcb是用什么软件打开啊? 答:PADS VX 2.2 Altium designer 十二、hi3559级联问题请教 在SDK的文档中只看到了两块Hi3559板…

服务器数据恢复-EMC存储raid5磁盘物理故障离线的数据恢复案例

服务器数据恢复环境&故障: 一台emc某型号存储服务器,存储服务器上组建了一组raid5磁盘阵列,阵列中有两块磁盘作为热备盘使用。存储服务器在运行过程中有两块磁盘出现故障离线,但是只有一块热备盘激活,最终导致该ra…

力扣:204. 计数质数(Python3)

题目: 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 示例: 示例 1: 输…

【️如何理解Java中的多态】

✅如何理解Java中的多态? ✅理解Java中的多态 ✅ 扩展知识仓✅方法的重载✅方法的重写✅重载和重写的区别区分 ✅理解Java中的多态 多态的概念比较简单,就是同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。 如果…

Java 中的内部类的定义

目录 一、成员内部类 二、静态内部类 三、局部内部类 四、匿名内部类 一、成员内部类 public class InnerClass {String name;private Integer age;static String hobby;/*** 成员内部类* 1、成员内部类中只能定义非静态属性和方法* 2、成员内部类中可以访问外部类的成员&a…

vue3表格导入导出.xlsx

在这次使用时恰好整出来了,希望大家也能学习到,特此分享出来 使用前确保安装以下模块,最好全局配置element-plus ### 展示一下 ### ###导出选项 ### ###导入de数据 ### 安装的模块 npm install js-table2excel // 安装js-table2excel n…

自动化测试工具选择指南

随着软件开发周期的不断缩短和需求的增加,自动化测试变得愈发重要。然而,选择适合项目的自动化测试工具并非易事。以下是一些指导原则,帮助你在众多自动化测试工具中做出明智的选择。 1. 项目需求分析 在选择自动化测试工具之前,首…

0x25 广度优先搜索

0x25 广度优先搜索 在0x21节中,我们介绍了图的广度优先遍历,在0x22节中,我们又定义了深度优先搜索过程产生的“搜索树”结构。如果我们把问题状态空间类比成一张图,那么广度优先搜索就是相当于对这张图的广度优先遍历。类似地&am…

海康威视对讲广播系统 RCE漏洞复现(CVE-2023-6895)

0x01 产品简介 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。 0x02 漏洞概述 Hikvision Intercom Broadcasting System 3.0.3_20201113_RELEASE(HIK)版本存在操作系统命令注入漏洞,该漏洞源于文件/php/ping.php的参数jsonda…

阿里云k8s集群搭建

文章目录 一、安装前准备1.环境2.k8s集群规划 二、k8s 安装1. centos基础设置2. docker 安装3. k8s安装3.1 添加阿里云 yum 源3.2 安装 kubeadm、kubelet、kubectl3.3 部署 Kubernetes Master3.4 加入 Kubernetes Node3.5 部署 CNI 网络插件3.6 测试 kubernetes 集群 一、安装前…

配置应用到k8s

配置应用到k8s,前置条件是安装了Docker,Minikube,kubectl 应用已经通过Docker生成本地镜像文件 1,创建godemo-deployment.yaml apiVersion: apps/v1kind: Deploymentmetadata:name: godemo-deploymentspec:replicas: 3 #启动三个…

Python | Flask测试:发送post请求的接口测试

HTTP/1.1 协议规定的 HTTP 请求方法有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 几种。POST通常用来向服务端提交数据,主要用于提交表单、上传文件。 HTTP 协议是以ASCII码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为…

认识数仓拉链表

数据仓库之拉链表 在数据仓库领域,拉链表是一种非常重要的数据结构,它能够对数据进行有效的组织和处理。本文将详细介绍拉链表的概念、应用、优缺点以及实现方法,帮助读者更好地理解和掌握数据仓库中的拉链表技术。 场景问题 在数据仓库的…