java - 自 Java 分配内存以来,dockerized jenkins 崩溃

标签 java jenkins docker

我正在使用 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

它因本地分配内存问题而崩溃:

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000083e80000, 1366294528, 0) failed; error='Cannot allocate memory' (errno=12)

There is insufficient memory for the Java Runtime Environment to continue.

Native memory allocation (mmap) failed to map 1366294528 bytes for committing reserved memory. An error report file with more information is saved as: //hs_err_pid5.log

最佳答案

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

你能试试这个参数吗:

"-e JAVA_OPTS="-Xmx1536m""

?

关于java - 自 Java 分配内存以来,dockerized jenkins 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38391447/

相关文章:

java - 来自字符串的正则表达式

java - 子类中可访问的私有(private)字段

java - 调用 Ant 时如何在 Jenkins GUI 中设置 Java 系统属性?

docker - Poetry 在 Docker 中安装失败

java - 从 ImageView 获取图像并使用编码位图将此图像发送到其他 fragment

java - 防止在 Java 中创建/启动线程

git - Jenkins 间歇性 git 连接错误

maven - 从 Jenkinsfile 访问父 POM 属性

visual-studio - 使用外部Docker在VS Code中进行编程

c# - 在 docker run 上找不到 appsettings.json 文件问题