说明:节点指部署了k8s相关组件的虚拟机

问题描述

应用方反映在kibana上搜索不到最新日志,未被fluent收集,查看fluent容器的日志 ,报错:can’t create Thread: Resource temporarily unavailable",在master节点查询节点状态正常,ssh登录节点,报错:fork faild cannot allocate memory

解决并分析问题

快速重启节点恢复应用,然后根据出现的报错内容排查问题,初次判定是进程数被使用完,导致无法分配进程给ssh,让节点处于假死状态,根据问题排查步骤如下:
1、 查询进程数量:ps -eLf | wc -l ,显示个数:14320

[root@k8s-node5]# ps -eLf | wc -l
14320

2、 查看用户使用的进程数:ps h -Led -o user | sort | uniq -c | sort -n,显示

3、 查看节点最大可用进程数,显示个数:32768

[root@k8s-node5]# cat /proc/sys/kernel/pid_max
32768

4、 查看进程数占用情况:top 发现java进程使用较多

[root@k8s-node5]# top

5、 查询java的进程:ps -eLf | grep java ,发现显示的基本都是父进程(10747)

[root@k8s-node5]# ps -eLf | grep java

6、 使用命令统计该父进程个数 ps -eLf | grep 10747 |wc -l,显示有:13659

[root@k8s-node5]# ps -eLf | grep 10747 |wc -l

7、根据进程号查询docker的容器id: docker inspect -f ‘{{.State.Pid}} {{.Id}}’ $(docker ps -a -q) | grep 10747

[root@k8s-node5]# docker inspect -f '{{.State.Pid}} {{.Id}}' $(docker ps -a -q) | grep 10747
cf6700b72bfa8ad3f7d905e2c82ea31b12d9e30ff662ebcb4eda8d57fdb3740f

8、 根据容器id前12位查询容器名称:docker ps | grep cf6700b72b,找到了对应的应用

[root@k8s-node5]# docker ps | grep cf6700b72b

9、从dashboard进入到该应用的容器统计实时进程数:ps -eLf | wc -l 显示:13921,而且还一直在增加
10、 确认是该应用的问题,联系对应负责人,发现是程序bug,连接hbase后未释放资源,导致进程被占满,因为节点资源不够,所以部署并未限制该应用的容器资源,该应用可以无限制使用该节点的资源从而导致进程资源耗尽。

解决方案

1、限制容器资源

          resources:limits:memory: 2Gicpu: '1'requests:memory: 2Gicpu: '0.5'

k8s节点假死排查记录相关推荐

  1. Jenkins假死问题记录

    Jenkins假死问题记录 问题描述 昨天遇到一个问题,服务器掉电重启后,通过开机自启动脚本: cd $JENKINS_HOME; nohup java -jar /usr/lib/jenkins/j ...

  2. 记一次线上服务假死排查过程

    大家好,我是烤鸭: 最近线上问题有点多啊,分享一个服务假死的排查过程. 问题描述 9点10分,收到进程无响应报警(一共6台机器,有1台出现),后来又有1台出现. 排查思路 首先确认是否误报或者网络抖动 ...

  3. 线上tomcat服务器假死排查

         之前线上的Tomcat运行一段时间就会假死,导致用户访问页面打不开,这里记录一下解决问题的步骤: 由于此项目是老项目,所以并不是很清楚里面的技术实现细节:打开服务器日志也没发现什么异常: 怀 ...

  4. tomcat假死排查-数据连接池耗尽

    问题背景:测试环境最近隔几周就会出现请求服务没有响应,查看服务进程正产,查看后台日志没有任何报错的日志,查看tomcat下的localhost_access_log.log日志中也没有请求记录. 排查 ...

  5. 如何用java判断进程是否假死_Spring Boot假死诊断实战记录

    这两天遇到一个服务假死的问题,具体现象就是服务不再接收任何请求,客户端会抛出Broken Pipe. 检查系统状态 执行top,发现CPU和内存占用都不高,但是通过命令 netstat -n | aw ...

  6. Tomcat进程假死问题排查

    目录 1.网络 1.1 检查nginx的网络情况 1.2 检查tomcat的网络情况 2.Jvm内存溢出 2.1为什么会发生内存泄漏 2.2快速定位问题 2.3 jstack查看tomcat是否出现死 ...

  7. Tomcat假死原因排查

    tomcat假死?为什么会假死呢,可能大多数人不会碰到这个问题,如果出现问题,重启服务器就好了,可是如果这个问题没有解决的话,那么就可能会存在相应的隐患,如果你的用户量多,那么必然你的请求量就高,这样 ...

  8. 线上服务Java进程假死快速排查、分析

    线上服务Java进程假死快速排查.分析 最近我们有一台服务器上的Java进程总是在运行个两三天后就无法响应请求了,具体现象如下: 请求业务返回状态码502,查看进程还在,意味着Java进程假死,无法响 ...

  9. ubuntu文件管理器打不开,出现假死现象的解决办法记录

    ubuntu文件管理器打不开,出现假死现象的解决办法记录 无论新建多少窗口,多少次双击一直出现这种文件管理器界面,一直进不去. 经了解, 一般是nautilus出错了,才出现假死现象,可以卸载之后重新 ...

  10. 记录一次并发情况下的redis导致服务假死的问题

    问题描述 最近项目在做性能压测,框架使用的是 spring boot 2.1.2 + jedis 2.9.1,80个并发持续压测4-5分钟服务就假死,所有的请求就pending,查看服务日志没有任何异 ...

最新文章

  1. 更改git bash默认的路径
  2. 用LabVIEW编写上位机
  3. windowSoftInputMode属性详解
  4. oracle tcpdump生成bpf,[20140212]linux下使用tcpdump抓取sql语句
  5. java enumset_java.util.EnumSet.allOf()方法和实例的学习
  6. 那些年困扰我们的Linux 的蠕虫、病毒和木马
  7. unity hub服务器无响应_累积更新KB4541335反馈称无法安装 出现无响应情况
  8. SpringBoot中如何实现全链路调用日志跟踪?这方法才优雅!
  9. python abc模块_3-2 抽象基类abc模块
  10. 域迁移过程下详细步骤
  11. TCP/IP协议详解内容总结(怒喷一口老血)
  12. Paramiko模块(堡垒机)
  13. 区块链应用 | 区块链火了,这到底是虚火还是实火?
  14. vnpy 查询持仓量_Vnpy 中增加TD指标计算及BOLL指标的运行情况
  15. buct2018年程序设计实训作业一部分题目解答
  16. Spring Boot缓存实战 EhCache
  17. Scss中的嵌套规则
  18. 司马懿:我花开后百花杀
  19. 【Henu ACM Round #13 C】 Ebony and Ivory
  20. 计算机如何打开无线网络适配器,电脑WIFI网络适配器卡怎么启用

热门文章

  1. 主成分分析法步骤matlab,主成分分析法matlab实现程序
  2. java 200以内质数_Java:2-200内的质数
  3. 大数据面试题——用shell打印200以内的质数
  4. 计算机word表格公开课ppt,word表格制作课件公开课.ppt
  5. 一步一步使用webpack+react+scss脚手架重构项目
  6. mysql查询并计算单价_数据库实验:统计查询和组合查询图书(书号,书名,作者编号,价格,出版社编号) 作者(编号,姓名,电话)出版社(编号,出版...
  7. C语言编程判断字母大小并转换,towupper()
  8. Python体重指数计算器源代码
  9. JumpServer页面访问502、504问题记录
  10. 【图像配准】基于sift算法实现图像配准matlab源码