【问题标题】:How JVM -XX:MaxRAM option can be correctly used? [duplicate]如何正确使用 JVM -XX:MaxRAM 选项? [复制]
【发布时间】:2020-06-23 11:43:54
【问题描述】:

我使用以下参数运行一个 java 应用程序:

#!/bin/bash

export JVM_OPTS="-XX:MaxRAM=150m"
export JVM_OPTS="$JVM_OPTS -XX:+UseSerialGC"

java $JVM_OPTS -jar application.jar

htop 显示:

  • VIRT=475M
  • RES=238M
  • SHR=4880
  • MEM%=24.1

据我了解,我需要查看RES 参数。但在这种情况下,它大大超过了-XX:MaxRAM。预计在这种情况下,OutOfMemoryException 会发生。我究竟做错了什么?如何限制容器的java应用程序的内存?我是否错误地查看了已使用的进程内存?

我想最小化使用的 RAM。操作系统——CentOS 7

【问题讨论】:

标签: java docker centos jvm


【解决方案1】:

-XX:MaxRAM 选项只影响default heap size

Java 进程使用的内存(从操作系统的角度来看)不仅包括 Java 堆,还包括许多其他东西。详情请见this answer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 2016-03-09
    • 2014-03-31
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    相关资源
    最近更新 更多