【问题标题】:I'm getting Invalid maximum heap size when I set Xmx and agentlib当我设置 Xmx 和 agentlib 时,我得到 Invalid maximum heap size
【发布时间】:2011-04-10 20:33:43
【问题描述】:

以下是我使用的参数:

-Xmx1024m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=11999

-Xmx1024m 可以在不通过 -agentlib 的情况下正常工作,而 -agentlib 可以在不通过 Xmx 的情况下正常工作。使用 agentlib 时可以设置最大堆大小吗?

我的 jar 文件正在通过 C 代码启动:

execlp(myJavaPath, myJavaPath, myDebugOptions,"-DFBLog4j=true","-jar","myJar.jar", NULL);

其中 myDebugOptions 包含 char*“-Xmx1024m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=11999”。当我尝试通过命令行(在 Solaris 10、JVM 1.6.0_17 中)运行相同的命令时,它工作正常。

【问题讨论】:

  • 你的意思是,当你使用这两个选项时,JVM 没有启动?

标签: java c


【解决方案1】:

您必须将每个命令行参数作为不同的参数传递给 execlp。

您正在执行的命令行与从命令行运行该命令行相同:

java '-Xmx1024m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=11999' -DFBLog4j=true -jar myJar.jar

这也不起作用,本质上 -Xmx 和 -agentlib 作为单个参数传递。

【讨论】:

    【解决方案2】:

    这不起作用的原因是因为 -Xmx1024 和 -agentlib: 是两个不同的参数。调用 execlp 时,它们需要作为两个不同的参数传入。当我像这样调用 execlp 时:

    execlp(myJavaPath, myJavaPath, myDebugOptions, "-Xmx1024m", "-DFBLog4j=true", "-jar", "/usr/mprint/bin/QDirectJServer.jar", NULL);
    

    它按预期工作,没有错误。即使是那些 myDebugOptions 也包含一个空格,它仍将其视为一个参数。

    【讨论】:

      【解决方案3】:

      如果您定义的内存容量大于您的系统物理内存,则会产生这种错误。

      根据物理内存更新定义的内存。

      例如,如果您的 Ram 物理内存为 2GB(2048m),并且您将 JVM 定义为
      -Xmx4096m 那么就会出现这个错误。

      【讨论】:

        【解决方案4】:

        我试过这个,它成功了:

        C:\Documents and Settings\Administrator>java -Xmx1024m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=11999 -version
        Listening for transport dt_socket at address: 11999
           java version "1.6.0_17"
           Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
           Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode)
        

        【讨论】:

        • 此处相同(在 Mac OS 上使用 1.6.0_20)。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-11
        • 1970-01-01
        • 2020-05-18
        • 1970-01-01
        • 2020-11-04
        相关资源
        最近更新 更多