【问题标题】:JRE out of memory in DockerDocker 中的 JRE 内存不足
【发布时间】:2019-02-03 03:58:22
【问题描述】:

我正在尝试构建类似于this 的 sbt 0.13.13 docker 映像。运行 java $JAVA_OPTS -jar sbt-launch.jar(作为构建映像的一个步骤)失败:

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000d3026000, 451256320, 0) failed; error='Out of memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 451256320 bytes for committing 
reserved memory.

增加-Xmx 没有帮助。我能做些什么来解决这个问题?这是 Dockerfile:https://github.com/kolov/k8s-stuff/blob/master/scala/Dockerfile

【问题讨论】:

  • 什么是 JAVA_OPS?您似乎正在尝试分配 430MB 的内存
  • -Xms512M -Xmx2048M
  • @AssenKolov 请您添加docker info 的输出,这将在构建映像时为您提供 docker 可用的总内存,以防内存低于您在构建程序时所期望的内存.
  • 非常感谢,@vedarth。您的建议有助于查明真正的问题并从中轻松找到解决方案:stackoverflow.com/questions/32834082/…

标签: java docker docker-machine


【解决方案1】:

使用以下命令增加硬盘的交换空间

sudo dd if=/dev/zero of=/var/myswap bs=1M count=2048

sudo mkswap /var/myswap

sudo swapon /var/myswap

【讨论】:

    猜你喜欢
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2014-10-15
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    相关资源
    最近更新 更多