java - Jenkins 中的 PermGen 错误

标签 java tomcat ubuntu jenkins

我遇到过 Jenkins 失败的案例,但 Jenkins 重新部署(Jenkins 是 Tomcat 中的一个网络应用程序)没有任何帮助。即使新作业因 PermGen 空间错误而失败,但所有设置都很好(所有这些 -XX:PermSize 参数都是可能的)。关键是在重新部署之后,一切都很顺利。但这是一个苛刻的解决方案。我想知道是否有一些选项可以回滚 Jenkins 状态。提前致谢。

更新:好的,对于那些可能会遇到类似情况的人来说,这是我的想法。那些写道最好将 Jenkins 部署为 Tomcat 模块的人可能没有遇到任何类型的项目部署问题(使用 Jenkins Deploy 插件或 Maven 中的 tomcat-maven-plugin pom.xml)。我没有遇到单独安装 Jenkins 时描述的任何问题。哇!

最佳答案

对于 PermGen 空间错误真正重要的一个设置是(而且必须是这个正是):

-XX:MaxPermSize=512m

一个破折号、两个大X、大M、大P、大S、无空格、尺寸单位为兆、更低案例米。如果你搞砸了,它将被忽略。我看到的所有 PermGen 修复中 99% 的“不起作用”是因为有人没有严格按照说明进行操作,而是使用 Big-M 表示兆字节而不是小-m,或者在前面放了两个破折号而不是一个破折号示例。

此外,512 megs 只是一个起点...调整以适合您的系统。

关于java - Jenkins 中的 PermGen 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11137578/

相关文章:

java - 以编程方式停止 H2 数据库

java - SpringBoot 多数据源 - 仅在外部 Tomcat 容器中失败

ubuntu - 如何记录终端的所有输入和输出,包括使用 'nano' 编辑文件时对文件的更改

java - 为什么类型的空变量声明显示编译错误而不是空声明?

Java:无法创建新的 native 线程

java - 这两个java数据结构有什么区别?

python - 如何使用 owfs 读取 iButton 温度记录器?

java - 如何确定调用 Activity 的 channel ?

java.lang.NoSuchMethodError : org. springframework.util.ReflectionUtils.clearCache()

bash - 是否可以使用 bash 在脚本中直接执行命令?