Vai*_*thu 2 jmeter jmeter-plugins
我的场景,
第 1 步:我已将线程组设置为1000:threads 和 500:seconds 第
2步:配置 heep 空间:HEAP=-Xms1024m -Xmx1024m 第
3 步:现在,为非 gui 模式运行 jmeter。在这种情况下,“未捕获的异常java.lang.OutOfMemoryError : 无法创建新的本机线程”错误出现在我的系统中。
我的系统配置
处理器:Intel® Pentium(R) CPU G2010 @ 2.80GHz × 2
操作系统类型:32 位
磁盘:252.6GB
内存:3.4 GiB
请给我一个解决方案。
谢谢,瓦拉穆图。
您的机器中没有足够的内存来消耗1000线程。从错误中可以清楚地看出您的机器无法创建 1000 个线程。您应该调整您的机器以解决这种情况。
您必须考虑以下几点:
JMeter是一个与JVM 一起运行的 Java 工具。为了获得最大能力,我们需要在执行过程中为JMeter提供最大资源。 首先,我们需要增加堆大小(在JMeter bin目录中,我们得到jmeter.bat/sh)
HEAP=-Xms512m –Xmx512m
这意味着默认分配的堆大小最小 512MB,最大 512MB。根据您自己的 PC 配置进行配置。请记住,操作系统也需要一定量的内存,因此不要分配所有物理 RAM。
然后,添加内存分配率
NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
这意味着内存将以这个速度增加。您应该小心,因为如果您的负载生成在开始时非常高,则可能需要增加。请记住,如果范围太宽,它将在 JVM 内分割您的堆空间。如果是这样,垃圾收集器需要更加努力地清理。
JMeter 是 Java GUI 应用程序。它还具有非 GUI 版本,非常占用资源(CPU/RAM)。如果我们在非 GUI 模式下运行 Jmeter ,它将消耗更少的资源,我们可以运行更多的线程。
在测试运行期间禁用所有侦听器。它们仅用于调试并使用它们来设计您想要的脚本。
在负载测试期间应禁用侦听器。启用它们会导致额外的开销,这会消耗测试中更重要元素所需的宝贵资源(更多内存)。
始终尝试使用最新软件。保持您的 Java 和 JMeter 更新。
不要忘记,在存储请求和响应头时,断言结果和响应数据会消耗大量内存!因此,除非绝对必要,否则尽量不要将这些值存储在 JMeter 上。
此外,您需要监控您机器的Memory consumption,CPU usages是否低于 80%。如果这些使用超过 80%,则认为这些测试与报告一样不可靠。
毕竟,如果您不能从您的机器生成 1000 个线程,那么您必须尝试使用分布式负载测试。
这是JMeter Distributed Testing Step-by-step的文档。
为了更好更详细地理解这两个博客,JMeter 可以支持多少用户?和9 个针对 JMeter 负载测试“内存不足”失败的简单解决方案必须有所帮助。
我还发现这篇文章非常有助于理解和处理它们。
| 归档时间: |
|
| 查看次数: |
7560 次 |
| 最近记录: |