当前位置: 首页 > 知识库问答 >
问题:

JVM的堆大小不断增加(但usedMemory()不断减少)

陶鸿畴
2023-03-14

我有一个在 eJDK 1.8.201 上运行的 Java 应用程序。我观察到系统报告的Java进程的RSS使用率不断增加,它将达到超过90%的物理内存,即512M,我的代码将重新启动系统。另一方面,我从代码中定期打印出来的二手Memory()表明它总是在不超过物理内存37%的有限范围内波动(意味着

你知道发生了什么以及如何解决这个问题吗?

该系统是 ARMv7 板上的嵌入式 Linux。

共有1个答案

夏侯博
2023-03-14

-Xmx=512M和-Xms=512M是无效标志。它们应更改为-Xmx512M-Xmx512M

 类似资料:
  • 下面是一些使用的JVM标志, -xmx3500m -XMS3500M -xx:maxmetaspacesize=400m -xx:compressedclassspacesize=35m 注意:线程堆栈的大小(1MB)和代码缓存(240MB)是默认的,JDK版本是1.8.0_252。 甚至由“jcmd pid vm.native_memory summary”输出产生的总和也是5.0GB,甚至不是

  • 问题内容: 我收到以下错误: 问题答案: 以下是一些可用来更改堆大小的选项。

  • 问题内容: 我的redis rdb文件的大小一直在增长,直到数据库无法运行并且连接被拒绝为止。我意识到这与某些配置设置有关-我使用的是默认配置文件。 有什么办法可以防止这种情况?我不必担心持续备份。 问题答案: 这显然在redis.conf中, 上面的文本在redis.conf中,如果您不想保存rdb文件,请在保存的三行注释,例如

  • 这里和这里都有类似的问题,但对JVM参数的更改都没有让我找到相同的解决方案。我只是想减少JVM未使用的堆大小,以便它更接近实际使用情况(将其释放给操作系统)。我一直在使用YourKit来分析内存使用情况,它通常如下所示: 我正在运行智能Ij IDEA社区版64位,在Windows 7 64位,8 GB RAM上运行。我已经编辑了.文件在这里找到: 与上述链接中提到的建议。第一个链接的答案实际上是错

  • 问题内容: 我正在使用具有8 GB RAM的Windows 2003服务器(64位)。如何增加堆内存的最大值?我正在使用该标志将堆大小增加到1500 Mb。是否可以将堆内存增加到物理内存(6 GB堆)的75%? 问题答案: 你可以在32位系统上增加到4GB。如果你使用的是64位系统,则可以更高。如果你选择的错误,不用担心,如果你在32位系统上要求5g,则Java会抱怨一个无效的值并退出。 正如其他

  • 我正在使用Arduino UNO R3,当我通过串行向我的GSM屏蔽发送AT命令时,我从Serial.available()获得越来越多的数字。 这是我一直用来调试的示例: 我从串行监视器得到的结果是: -30- -63- -63- -63- ... 为什么可用字节数从30开始,然后最大为63?这种情况甚至在我使用序列号时也会发生。read(),它应该使用缓冲区中的数据。 编辑:添加了serial