如何检查Jenkins构建执行程序的可用内存?


13

在Jenkins中,单击“ 生成执行器状态”时,我只能看到与可用磁盘空间有关的统计信息(URI:)/computer。如何在Jenkins中监视空闲系统内存(RAM)?

我问,是因为有时候当我的执行者过多(尽管配置了交换空间,但下面没有)时,詹金斯却死机了或崩溃了很多。

Jenkins at / computer-名称,体系结构,时钟差,可用磁盘空间,可用交换空间,可用临时空间,响应时间


5
您可能会发现监视插件很有
Assaf Lavie

2
旁注:繁重的交换将使功能最强大的服务器都爬网,从而减慢所有流程,包括Jenkins执行程序和本地监视解决方案。更糟糕的是:内存垃圾收集器也将运行缓慢,进一步满足了这一条件。为了获得良好的性能,我建议将交换大小保持较小,主要是在为多个执行者共享同一台服务器时主要依赖于实际的RAM大小,并避免过多的超额订购。
Dan Cornilescu

Answers:


8

看一下Monitoring插件。这是一些有关它的更多详细信息(来自链接页面):

  • 内存,CPU,系统平均负载,http响应时间(按天,周,月,年或自定义时间段)的图表
  • http请求的统计信息,包括平均响应时间,平均cpu时间,按请求以及日,周,月,年或自定义期间的平均响应大小
  • 错误和日志
  • 当前的http请求
  • 线程数
  • 堆直方图(实例和大小按类)
  • Http会话
  • 操作系统进程列表
  • 豆类
  • GC,堆转储和使会话无效的操作
  • 以html或pdf报告
  • 英文,德文,法文,葡萄牙文或中文
  • 詹金斯安全
  • 对于Jenkins节点(一般为从属):
    • 节点的报告位于: http://yourhost/monitoring/nodes
    • 针对内存,CPU,系统平均负载,正在运行的构建的数量,构建队列长度,构建时间(按周期)的所有节点汇总的图表
    • 有关构建时间和构建步骤的详细统计信息
    • 每个节点的线程,进程列表和MBean
    • 堆积所有节点的堆直方图
  • 对于每个单独的节点(中的每个节点http://yourhost/computer),可以从上下文菜单中的“监视”页面或该节点的详细信息中获取报告和操作:
    • 线程,进程列表,仅该节点的MBean
    • 该节点的堆直方图
    • GC,堆转储的操作
  • 和更多...

鸣谢:阿萨夫·拉维Assaf Lavie)(谁在评论中首次提到它,但出于某种原因并未将其发布为实际答案...)。


5

至于解决方法,可以通过直接在脚本控制台(位于/computer/(master)/script)上调用Groovy命令来检查实际内存。示例命令:

println "free -m".execute().text

2
备用命令:awk '/MemFree:/ { print $2}' /proc/meminfo仅用于不带ram的kB或用于“内存和交换”的备用命令:awk '/(Mem|Swap)Free:/ { print }' /proc/meminfo
Tensibai

我不确定awk脚本是否可以通过Jenkins脚本控制台执行。如我所见,Jenkins脚本控制台仅适用于Groovy
olyv
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.