/computer
)。我问的是如何监控Jenkins的可用系统内存(RAM)?,因为有时当我的执行程序过多时(尽管配置了交换空间,但没有下面的执行程序),Jenkins冻结或崩溃很多。
#1 楼
看一下Monitoring插件。以下是有关它的更多详细信息(来自链接页面):图表,内存,CPU,平均系统负载,http响应时间(按天,周,月,年份或自定义期限
http请求的统计信息,包括平均响应时间,平均cpu时间,按请求以及按日,周,月,年或自定义时期的平均响应大小
错误和日志
当前http请求
线程
堆直方图(按类划分的实例和大小)
Http会话
OS的进程列表
MBeans
用于GC,堆转储和使会话无效
用html或pdf报告
用英语,德语,法语,葡萄牙语或中文
Jenkins安全性
对于Jenkins节点(一般为从属):
节点的报告位于
http://yourhost/monitoring/nodes
内存,cpu,系统平均负载,正在运行的内部版本数,内部队列长度,内部版本的所有节点的汇总图表时间段
的详细统计信息构建时间和按周期划分的构建步骤
每个节点的线程,进程列表和MBean
所有节点的堆直方图汇总
每个单独的节点(每个
http://yourhost/computer
中的“节点”),可以从上下文菜单的“监视”页面或该节点的详细信息中获取报告和操作:线程,进程列表,仅该节点的MBean
该节点的堆直方图
用于GC,堆转储的操作
还有更多...
信用:Assaf Lavie(谁在评论中第一次提到它,但由于某种原因并未将其作为实际答案...)。
#2 楼
至于解决方法,可以通过直接在脚本控制台(位于/computer/(master)/script
)中调用Groovy命令来检查实际内存。命令示例:println "free -m".execute().text
评论
替代命令:awk'/ MemFree:/ {print $ 2}'/ proc / meminfo仅适用于不带ram的kB或内存和交换的替代方法:awk'/(Mem | Swap)Free:/ {print}'
–滕西拜
17年1月1日在14:12
我不确定awk脚本是否可以通过Jenkins脚本控制台执行。如我所见,Jenkins脚本控制台仅适用于Groovy
– olyv
17年11月20日在8:44
评论
您可能会发现监视插件很有用:wiki.jenkins-ci.org/display/JENKINS/Monitoring旁注:大量交换将使功能最强大的服务器都爬网,从而减慢所有流程,包括Jenkins执行程序和本地监视解决方案。更糟糕的是:内存垃圾收集器也将运行缓慢,进一步满足了这种情况。为了获得良好的性能,我建议将交换大小保持在很小的水平,主要是在为多个执行者共享同一台服务器时主要依赖于实际的RAM大小,并避免大量的超额认购。