记一次生产报too man open files
有一天私有云无法访问,马上联系厂商,最后厂商发现好多容器不停重启,经过日志查看发现平台打开文件句柄太多,很奇怪,就开始排查,最后发现一个端口,定位到应用spring actuator.
这个应用是我为了监控微服务而发布的一个监控应用,马上看日志,发现应用报错,too many open files,愣了,从来没遇到过啊。求助运维哥,
1、获取应用进程号
ps -ef|grep spring actuator
2、进入到进程
cd /proc/4801
3、查看进程详情
ll
4、查看进程打开文件句柄的详细信息
ll
图不全,发现打开了好多socket,
5、统计打开句柄数
ls |wc -l
1000多个,究竟什么鬼。
基本用的都是原生框架,里面没有自己写的代码,所以怀疑spring-boot-admin-starter-server(2.2.3)有问题,换个版本吧,
版本换成2.2.1
继续用刚才上面的方式统计打开句柄数观察,80左右个句柄数,正常。至此问题解决。
看来spring有时候也坑啊
还没有评论,来说两句吧...