Windows OS下如何给Jenkins更多的堆空间

Posted

技术标签:

【中文标题】Windows OS下如何给Jenkins更多的堆空间【英文标题】:How to give Jenkins more heap space under Windows OS 【发布时间】:2018-05-28 07:10:30 【问题描述】:

我是第一次安装 Jenkins。添加了从文件系统运行 HP Automation 测试的构建操作和归档 HP 结果的发布构建操作。作业成功后,它给我一个错误“java-out-of memory- Heap space”

注意:此错误出现在 2-3 次构建运行之后。

我对 C:\Program Files (x86)\Jenkins 下的 Jenkins.xml 做了一些更改

来自

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>

<arguments>-Xrs -Xmx4096m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>

重启 Jenkins。

当我点击http://localhost:8080 时,我需要再次完成完整的 Jenkins 设置。像安装插件、设置用户等。这是一项痛苦的任务。请帮助解决 java -heap space 错误的永久解决方案。

操作系统版本 - Windows 2007 詹金斯版本 - 2.78

【问题讨论】:

如果您的 jenkins 在程序文件中,您可能会遇到权限问题,请尝试将其移动到其他位置,例如c:\jenkins 否则您需要以管理员身份运行 jenkins,不建议这样做。 @LeonardBrünings 我将 Jenkins 放在 C:\Program Files (x86)\Jenkins 中。我担心的是为了更改堆大小。我正在做上述更改,但这样做之后。当我点击刷新时,需要再次完成 Jenkins 设置。我所有的项目都被删除了。 我的猜测是,如果 jenkins 在C:\Program Files (x86)\Jenkins 中运行,它无法保存其配置文件,因为C:\Program Files (x86) 下的所有内容默认都需要管理权限。这就是为什么我建议在其他地方安装 jenkins,例如,C:\Jenkins,然后 jenkins 应该能够持久化它的配置,你不必每次都重复它。 @LeonardBrünings如果我将整个文件夹从 C:\Program Files (x86)\Jenkins 转移到 C:\Jenkins。我不需要重新安装和其他东西吗?请确认 【参考方案1】:

如果您使用kill -9 &lt;pid&gt; 杀死您的詹金斯,那么詹金斯将无法将其数据写入其配置文件。因此,所有设置数据都将丢失或损坏。所以请不要那样做。在这里,我附上了 2 个链接,说明您的服务器设置再次运行的原因。希望这些有所帮助。

Config Errors Because of Killing Jenkins process from CMD

Safe Starting of Jenkins

【讨论】:

我也无法重启或安全重启 Jenkins。什么可能是根本原因。错误:-“Jenkins 无法按照当前配置自行重启。” https://***.com/questions/32790081/jenkins-refuses-to-restart 这个链接足以解决您的问题。 jenkins.exe 已经存在。我删除了,然后再次尝试。它仍然显示我的错误。 当我删除现有文件并再次下载 jenkins.exe 时。它给了我一条错误消息:- 安装服务 [.jenkins] $ C:\Users\P10401685\.jenkins\jenkins.exe install 2017-12-18 14:28:56,228 INFO - 安装 ID 为“jenkins”的服务id 为“jenkins”的服务已经存在 不要只删除文件。而是使用安装程序卸载 Jenkins。 https://***.com/questions/26677637/how-to-uninstall-jenkins-on-windows

以上是关于Windows OS下如何给Jenkins更多的堆空间的主要内容,如果未能解决你的问题,请参考以下文章

当 Jenkins 在 Ubuntu 上作为守护进程运行时,如何给它更多的堆空间?

里常说的堆,栈,堆栈到底是什么,从os的角度总结

Jenkins 中的堆空间问题

詹金斯中的堆空间错误

如何在Mac OS中访问Windows共享文件夹

Windows Jenkins修改JENKINS_HOME路径