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. Microsoft.Extensions.DependencyInjection中的Transient依赖注入关系,使用不当会造成内存泄漏

    Microsoft.Extensions.DependencyInjection中(下面简称DI)的Transient依赖注入关系,表示每次DI获取一个全新的注入对象.但是使用Transient依赖注 ...

  2. 连肝三个通宵,JVM77道高频面试题详细分析,就这?

    为方便大家记忆,记得收藏加关注哦 ,需要下载PDF版本请在公众号[程序员空间]回复"资料"即可获取下载方式,你也可以 点在文末微信扫描二维码关注! 1.java 中会存在内存泄漏吗 ...

  3. Android 限制控件多次点击

    有时候多次点击页面会连续弹出多个页面,这时候写一个方法控制一下就OK.  private static long lastClickTime; public synchronized static b ...

  4. 2020-2021-1 20209306 《linux内核原理与分析》第一周作业

    学习过程中遇到了如下的问题,通过探索找到了可以解决的方法 1.如何退回主目录或者编辑某个文件夹. 使用cd/home可以退回主目录,这里注意的是绝对路径和相对路径的区别,在学习时我试图切换到home目 ...

  5. IPEX-1代/3代/4代/5代,PCB天线底座,公头,样式及封装尺寸图

    1.IPEX-1代,PCB天线底座 2.IPEX-3代,PCB天线底座 3.IPEX-4代,PCB天线底座 4.IPEX-5代,PCB天线底座

  6. D. Bash and a Tough Math Puzzle 解析(線段樹、數論)

    Codeforce 914 D. Bash and a Tough Math Puzzle 解析(線段樹.數論) 今天我們來看看CF914D 題目連結 題目 給你一個長度為\(n\)的數列\(a\), ...

  7. day79:luffy:注册之对手机号的验证&实现基本的注册功能逻辑&点击获取验证码&redis

    目录 1.前端和后端对于手机号的验证 2.实现基本的注册功能-不包括验证码 3.点击获取验证码 4.解决登录不上Xadmin的bug 5.redis register.vue页面 <templa ...

  8. http post 四种方式

    HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...

  9. Redux学习day1

    01.React介绍 Redux是一个用来管理管理数据状态和UI状态的JavaScript应用工具.随着JavaScript单页应用(SPA)开发日趋复杂,JavaScript需要管理比任何时候都要多 ...

  10. leetcode64:maximal-rectangle

    题目描述 给出一个只包含0和1的二维矩阵,找出最大的全部元素都是1的长方形区域,返回该区域的面积. Given a 2D binary matrix filled with 0's and 1's, ...