如果完全占用,如何清除Jenkins堆内存

时间:2017-11-28 11:19:02

标签: jenkins

我在一台虚拟机上运行Jenkins应用程序,不知何故所有系统内存都被完全占用,如何清理内存?我如何知道分配了多少堆内存以及如何清除堆内存?

cat /proc/meminfo
MemTotal:       132046272 kB
MemFree:        63724320 kB
Buffers:          155484 kB
Cached:         17920672 kB
SwapCached:         5108 kB
Active:         26331416 kB
Inactive:        9676204 kB
Active(anon):   17778452 kB
Inactive(anon):   153136 kB
Active(file):    8552964 kB

4 个答案:

答案 0 :(得分:0)

您是否尝试重启Jenkins,如果是这样,VM本身? 我说它是最简单但最有效的方式。

答案 1 :(得分:0)

Jenkins本身在Java虚拟机(JVM)中运行,可以配置此JVM(heap_size等)。如果虚拟机的内存不足,则必须减少JVM的内存。您将使用一些参数在jenkins的server.xml文件中执行此操作。在最好的情况下,您将为您的vm提供更多内存。以下是这个论点的一个例子:

JAVA_ARGS =" -Xmx256m" #< - 默认值

JAVA_ARGS =" -Xmx2048m"

如何正确配置jenkins请咨询documentation 这个pagepage对于jvm参数。

答案 2 :(得分:0)

在生产实例上,建议不要每天重启。我通过“ Monitoring”插件清除了堆内存,还升级到Jenkins的2.x(例如2.65或2.89.4)版本,它解决了我的问题

答案 3 :(得分:0)

  1. 安装Monitoring插件
  2. 在浏览器中,http://YOUR_JENKINS_URL/monitoring
  3. 在网页顶部,通过点击执行垃圾收集器
  4. 来调用GC
  5. 如果要从脚本调用GC,请查看执行GC 部分HERE