记 K8S引发的Springboot项目频繁重启

背景介绍

1、项目组成: k8s+docker+springboot+jdk1.8

2、问题描述: 在一次线上环境升级后springboot项目服务(pod)频繁重启,间隔时间较短,甚至于项目启动后又立即重启

问题排查

1、查看pod事件kubectl -n xxx get event

2、查看pod内容kubectl -n xxx describe pod xxxx 重启原因是oomkilled

3、检查项目代码 :没有发现可能导致内存泄漏的代码

4、查看pod使用内存:kubectl -n xxx top pod

5、查看java堆栈信息: 使用jstack pid jstat -gc pid 1s 2 jamap -heap pid java -XX:+PrintFlagsFinal -version|grep HeapSize 等命令检查内存使用情况,发现jvm初始化的内存(32g)远大于k8s分配的内存大小(4g)于是网上查找了一下资料:

https://blog.csdn.net/yzh_1346983557/article/details/89216494

https://blog.csdn.net/zhangxiangui40542/article/details/119862437

结论

做了实际验证,发现在没有对jvm的参数做配置时,jvm分配的堆栈大小是根据宿主机内存进行分配的;

在制作docker镜像的时,对jvm的参数进行配置java -Xms1024m -Xmx1024m -jar app.jar问题得以解决;

备注: 以上两位博主的观点不一致,是不是和k8s的环境配置有关不得而知;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值