Return Homezq2599

CnBlogsHomeContactAdminPosts - 75 Articles - 0 Comments - 16

K8S环境的Jenkin性能问题处理

环境信息

在K8S环境通过helm部署了Jenkins(namespace为helm-jenkins),用于日常Java项目构建:

kubernetes:1.15

jenkins:2.190.2

helm版本:2.16.1

如果您想了解helm部署Jenkins的详情,请参考《》

问题描述

在Jenkins任务密集时,Jenkins页面响应缓慢,偶尔有白屏情况发生(稍后自动回复),而且构建速度也明显变缓,查看具体的数据:

K8S环境已装了metrics-server,用命令kubectl top pod --all-namespaces可以看到Jenkins所占内存仅有410兆,如下图:

在这里插入图片描述

Jenkins是Java应用,在处理大量任务的时候,410兆的内存应该是不够的,JVM内存不足会导致频繁的垃圾回收,接下来顺着这个思路去看JVM内存情况;

由上图可知pod名为my-jenkins-74bcdfc566-lmhnw,通过kubectl describe pod my-jenkins-74bcdfc566-lmhnw -n helm-jenkins查看此pod详情:

在这里插入图片描述

由上图红框1可知此pod运行在node3节点,红框2显示对应的docker容器ID为f9ae211abe99(前12位);

去node3机器上执行docker ps,果然发现了ID为f9ae211abe99的容器,如下图:

在这里插入图片描述

执行命令docker exec f9ae211abe99 jps查看容器内所有java进程的PID,如下图,可见Jenkins服务在容器内的PID等于6:

在这里插入图片描述

知道了容器ID和java进程的PID,就可以查看JVM信息了,执行命令docker exec f9ae211abe99 jstat -gcutil 6 3s 99查看GC情况,如下图,除了YGC频繁,还出现了FGC:

在这里插入图片描述

再用命令docker exec f9ae211abe99 jmap -heap 6查看JVM内存情况,如下图,年轻

K8S环境的Jenkin性能问题描述的更多相关文章

  1. K8S环境的Jenkin性能问题处理续篇(任务Pod设置)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos K8S环境的Jenkin性能问题处理 本文是<K ...

  2. K8S环境的Jenkin性能问题处理

    环境信息 在K8S环境通过helm部署了Jenkins(namespace为helm-jenkins),用于日常Java项目构建: kubernetes:1.15 jenkins:2.190.2 he ...

  3. 记录一次k8s环境尝试过程(初始方案,现在已经做过很多完善,例如普罗米修斯)

    记录一次Team k8s环境搭建过程(初始方案,现在已经做过很多完善,例如普罗米修斯) span::selection, .CodeMirror-line > span > span::s ...

  4. [原] KVM 环境下MySQL性能对比

    KVM 环境下MySQL性能对比 标签(空格分隔): Cloud2.0 [TOC] 测试目的 对比MySQL在物理机和KVM环境下性能情况 压测标准 压测遵循单一变量原则,所有的对比都是只改变一个变量 ...

  5. Jenkins指定tag发布到k8s环境

    Jenkins指定tag发布到k8s环境 1.Jenkins配置一个Pipeline 工程 首先要安装插件:https://www.cnblogs.com/Dev0ps/p/9125232.html ...

  6. spring-cloud-kubernetes服务发现之在k8s环境下开发spring cloud应用

    通常情况下,我们的线上的服务在迁移到k8s环境下的时候,都是采用平滑迁移的方案.服务治理与注册中心等都是采用原先的组件.比如spring cloud应用,在k8s环境下还是用原来的一套注册中心(如eu ...

  7. CentOS7.6部署k8s环境

    CentOS7.6部署k8s环境 测试环境: 节点名称 节点IP 节点功能 K8s-master 10.10.1.10/24 Master.etcd.registry K8s-node-1 10.10 ...

  8. 清理rancher、k8s环境

    清理rancher.k8s环境 待办 https://blog.csdn.net/CSDN_duomaomao/article/details/77684571

  9. k8s环境部署本地.net core web项目

    上一篇文章,我们部署了docker+k8s环境,简单测试通过,但是,还没能将我们自己的项目部署上去,继续记录部署踩坑过程. 一.准备工作 1.当然是docker+k8s环境了,详情请看上一篇文档 ht ...

随机推荐

  1. poj1639,uva1537,uvalive2099,scu1622,fzu1761 Picnic Planning (最小限制生成树)

    Picnic Planning Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 10742   Accepted: 3885 ...

  2. 关于overflow的理解

    overflow会把超出父盒子的部分继续不同修改 在这我只执行一个常用属性值 原始代码如下(未设置overflow前): 执行结果: 设置后运行结果:

  3. Serializable使用

    android的另一个序列化Serializable比较简单,实现它的接口,然后生成所有成员变量的方法,再生成所有成员变量的getset方法,serializable可以存储对象,所以下面代码传递了一 ...

  4. DOM0级事件误区-addEventListener

    百度上很多篇文章讲解addEventListener DOM0级事件的时候讲解的都是覆盖 概念如下: 同一个元素的同一种事件只能绑定一个函数,否则后面的函数会覆盖之前的函数 其实不然,官方讲解:添加的 ...

  5. robotframework执行自动化不能转换为h5页面的问题解决

    电脑换成win10后,搭建了robotframework环境,执行自动化发现页面不支持h5页面了.请教了大佬,解决办法如下: 1.切换到DOS环境下,执行pip list命令,查看selenium2l ...

  6. mysql分组函数与查询

    Ⅰ.分组函数的分类: max():最大值 min():最小值 sum():和 avg():平均值 count():计算非空的个数 这些都是通用的,sqlserver.oracle.mysql都是一样的 ...

  7. 4G DTU采用的4G通信模块介绍

      4g通信模块一种基于4G网络进行数据传输的工业级通讯终端,其主要作用是将采集到的传感器数据.仪表数据,传输至服务器/上位机.监控中心.众山研发生产的4g无线通讯设备--4G DTU是一款物联网数据 ...

  8. .Net/.Net Core 的界面框架 NanUI 发布新版本啦!

    发布前感悟 NanUI 自从上一次更新 NanUI 0.7 已经过去大半年,B站和头条的教学视频也只制作到了第二集. 有朋友悄悄问我是不是发生什么事故我删库跑路了所以那么长时间不更新项目不发布教程,当 ...

  9. JNI-Thread中start方法的调用与run方法的回调分析

    前言 在java编程中,线程Thread是我们经常使用的类.那么创建一个Thread的本质究竟是什么,本文就此问题作一个探索. 内容主要分为以下几个部分 1.JNI机制的使用 2.Thread创建线程 ...

  10. 服务器性能监控神器nmon使用介绍

    介绍 Nmon (Nigel's Monitor)是由IBM 提供.免费监控 AIX 系统与 Linux 系统资源的工具.该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 exc ...