【问题标题】:dockerized jenkins crashes since a Java allocation memory由于 Java 分配内存,dockerized jenkins 崩溃
【发布时间】:2016-11-18 09:19:48
【问题描述】:

我正在使用 docker 运行 jenkins 图像:

docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -u root
  -v /root/jenkins/data/:/var/jenkins_home -e JAVA_OPTS="-Xmx2g"
  --add-host=docker:10.129.2.232
  jenkins

它因native allocation memory 问题而崩溃:

OpenJDK 64 位服务器虚拟机警告:信息: os::commit_memory(0x0000000083e80000, 1366294528, 0) 失败; error='无法分配内存' (errno=12)

Java 运行时环境没有足够的内存来继续。

本机内存分配 (mmap) 未能映射 1366294528 字节以提交保留内存。 包含更多信息的错误报告文件保存为: //hs_err_pid5.log

【问题讨论】:

  • 你试过没有-e JAVA_OPTS = "-Xmx2g" 吗?容器是否有 >2GB 的可用内存?
  • 是的,已经尝试过没有任何JAVA_OPTS 规范,但问题仍然存在。我的服务器有 2Gb。

标签: java jenkins docker


【解决方案1】:

如果我理解正确,您的服务器有 2 Gb。并且您不能分配 2 Gb。到Java,因为它也被系统使用。

你能用参数试试吗:

"-e JAVA_OPTS="-Xmx1536m""

?

【讨论】:

    猜你喜欢
    • 2010-11-14
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 2010-11-17
    相关资源
    最近更新 更多