gpt4 book ai didi

java - 使用 64 位指令从命令行调用 jMeter 会丢失类

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:17 25 4
gpt4 key购买 nike

我们运行的是 32 位 JDK 和 jMeter 2.6,在模拟一个小时内分布的 8000 个用户时遇到了堆内存问题。

我们升级到 64 位 Java 和 jMeter 2.12。

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

当我们从命令行运行请求 4Gb 堆(服务器有 32Gb)时,我们收到初始堆大小太大的消息。

set JVM_ARGS="-Xms4G -Xmx4G -XX:NewSize=512m -XX:MaxNewSize=1G" jmeter.sh

当我们将选项 -d64 添加到 JVM_ARGS 时,我们不再收到有关堆大小的错误,但它不再找到类

set JVM_ARGS="-d64 -Xms4G -Xmx4G -XX:NewSize=512m -XX:MaxNewSize=1G" jmeter.sh

指向目录好像没有效果

set JVM_ARGS="-d64 -Xms4G -Xmx4G -XX:NewSize=512m -XX:MaxNewSize=1G -cp mypath" jmeter.sh

最佳答案

  1. 查看 jmeter.sh,您似乎正尝试在 Linux 或 MacOSX 上运行 JMeter。我相信您需要删除 set 词(或将其替换为 export)
  2. 如果您在 PATH 中有正确的 java 可执行文件,则不需要提供 -d64 选项。像这样的东西:

     JAVA_HOME=/path/to/64-bit/jdk && export JAVA_HOME
    PATH=$JAVA_HOME/bin:$PATH && export PATH
  3. 您可以编辑jmeter 脚本并修改以下行:

    HEAP="-Xms512m -Xmx512m"
    NEW="-XX:NewSize=128m -XX:MaxNewSize=128m"

    “告诉”Jmeter 使用 Concurrent Mark Sweep (CMS) Garbage Collector也可以大大提高JMeter端的性能。相关行是:

    -XX:+UseConcMarkSweepGC

参见 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure文章了解有关充分利用 JMeter 安装的更多信息。

关于java - 使用 64 位指令从命令行调用 jMeter 会丢失类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37865370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com