java - 当 Jmeter.bat 中的堆大小增加时无法打开 Jmeter?
问题描述
我为 Java 设置了堆大小:
Control Panel --> Java (Control panel) --> Java --> View
将用户属性更新为 - Xmx4096m
(我的机器 RAM 为 8 GB)
在控制面板中更改堆大小后,我将 Jmeter.bat 中的堆大小更改为 2048MB。
set HEAP=-Xms2048m -Xmx2048m
if not defined HEAP (
rem See the unix startup file for the rationale of the following parameters,
rem including some tuning recommendations
set HEAP=-Xms512m -Xms512m -XX:MaxMetaspaceSize=512m
)
现在我正在尝试打开 Jmeter.bat 并收到以下错误
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap
errorlevel=1
Press any key to continue . . .
非常感谢,如果有人知道如何解决这个问题?
解决方案
这很可能是由于使用了不能分配超过 2 GB 的 32 位 Java 运行时。
为什么我不能使用 32 位 JVM 获得更大的堆?
32 位 JVM 的最大理论堆限制为 4G。由于各种额外的限制,例如可用交换、内核地址空间使用、内存碎片和 VM 开销,实际上限制可以低得多。在大多数现代 32 位 Windows 系统上,最大堆大小范围为 1.4G 到 1.6G。
您可以尝试以下方法:
将堆大小减小到 1536 MB
根据JMeter 负载测试“内存不足”失败的 9 个简单解决方案
Java -尽可能使用最新的 64 位版本的 Java SE JDK 或 Server JRE
推荐阅读
- macos - SwiftUI:在最小值和最大值之间改变值的放大手势
- c# - LINQ 将数组与 DataRow 中的另一个数组匹配
- javascript - 我可以使用 javascript 在我的 html 文档中抓取其他网站吗?
- javascript - 简单的香草 JS 游戏
- python - 具有嵌套循环的理解列表中的迭代计数器
- javascript - Puppeteer 无法拦截 xhr 响应 json
- javascript - 触摸图像时如何使用javascript检测右键单击
- java - 合并多个 SDK
- node.js - 具有其他模式数组字段的猫鼬模式
- python - 通过腌制文件在python中加载模型的特征重要性