accept4: too many open files; retrying in 1s
以下内容转载自 https://blog.csdn.net/zhizhengguan/article/details/91753479
在/etc/security/limits.conf添加
cat > /etc/security/limits.conf <<EOF* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072EOF
然后重启
echo -n > /etc/security/limits.d/90-nproc.conf
- 查看系统的配置 ulimit -a | grep open,发现系统的配置正常。
- 查看程序服务的打开文件限制,cat /proc/40636/limits,发现服务的限制并没有继承系统设置的,还是系统默认的1024限制。
- 查看程序服务打开文件数(连接数)情况,lsof -p 40636 | wc -l,发现已经超出限制,所以报错。
- 再看看程序服务打开了哪些连接,lsof -p 40636 > openfiles.log,发现很多http连接打开没有关闭,看ip是报警服务的接口,于是顺着这条线索,终于找到了原因,因为程序中读取到的配置解析时报错给报警服务,大量的报警服务连接后未关闭,才导致的too many open files,这是问题的关键,但是程序为什么没有继承系统设置的最大配置限制,还需要继续查看。
–
系统最大打开文件描述符数:
查看
$ cat /proc/sys/fs/file-max
6553600
#3 设置
$ vim /etc/sysctl.conf
fs.file-max = 6553600
[oceanstar@192 cap]$ ulimit -n
1024
[oceanstar@192 cap]$ ulimit -Hn
4096
[oceanstar@192 cap]$ ulimit -Sn
1024
查看某进程的文件打开数
cat /proc//limits
ls -lh /proc//fd
ls -lh /proc//fd|wc -l
lsof -p 78757 | wc -l
调整
ulimit为shell内建指令,可用来控制shell执行程序的资源。
-a 显示目前资源限制的设定。
-c <core文件上限> 设定core文件的最大值,单位为区块。
-d <数据节区大小> 程序数据节区的最大值,单位为KB。
-f <文件大小> shell所能建立的最大文件,单位为区块。
-H 设定资源的硬性限制,也就是管理员所设下的限制。
-m <内存大小> 指定可使用内存的上限,单位为KB。
-n <文件数目> 指定同一时间最多可开启的文件数。
-p <缓冲区大小> 指定管道缓冲区的大小,单位512字节。
-s <堆叠大小> 指定堆叠的上限,单位为KB。
-S 设定资源的弹性限制。
-t <CPU时间> 指定CPU使用时间的上限,单位为秒。
-u <程序数目> 用户最多可开启的程序数目。
-v <虚拟内存大小> 指定可使用的虚拟内存上限,单位为KB。
accept4: too many open files; retrying in 1s相关推荐
- go的http服务报错accept4: too many open files
执行命令"netstat -ano |grep 8300"后发现有很多"tcp6 210 0 127.0.0.1:8300 127.0 ...
- centos7 tomcat_CentOS7下Tomcat应用容器抛出Too many open files问题
背景 在实际开发中有一款设备管理软件,一般情况下接入的设备并不多,最多几十台:最近有一个项目中,需要接入2000台这样的设备,运行一段时间后,会大量抛出Too many open files:导致设备 ...
- go语言 Accept error: accept tcp [::]:5551: too many open files;
2019独角兽企业重金招聘Python工程师标准>>> 在使用go语言请求服务器的时候,在一个for循环内使用http.post所引发的错误是:Accept error: accep ...
- Iceberg删除过期snapshots、老的metadata files、孤立的文件,合并data files和manifests
目录 1. 过期snapshots的处理 2. 删除老的metadata files 3. 删除孤立的文件 4. 合并data files 5. Rewrite manifests 1. 过期snap ...
- K8s常见问题分析解决
1: Pod始终处于pending状态 详细描述: Pod始终处于pending状态 解题思路: 如果pod保持在pending的状态,意味着无法被正常的调度到节点上,由于系统的某些资源无法满足Pod ...
- K8s常见问题分析解决(未分类问题一)
1: Pod始终处于pending状态 详细描述:Pod始终处于pending状态 解题思路:如果pod保持在pending的状态,意味着无法被正常的调度到节点上,由于系统的某些资源无法满足Pod的运 ...
- golang net/http 超时机制完全手册
目录 SetDeadline 服务器端超时设置 客户端超时设置 Cancel 和 Context 英文原始出处: The complete guide to Go net/http timeouts, ...
- DockOne微信分享(八十四):Docker在B站的实施之路
本文讲的是DockOne微信分享(八十四):Docker在B站的实施之路[编者的话]B站一直在关注Docker的发展,去年成功在核心SLB(Tengine)集群上实施了Docker.今年我们对比了各种 ...
- 图像处理和图像识别中常用的matlab函数
下面仅给出函数的大概意思,详细用法见: help 函数名 或 matlab help 1.imread:read image from graphics file: 2.imshow:display ...
最新文章
- vue从其它页面返回_vue---详细页点返回列表页,停留在原先位置
- RDCL报表的两种使用方法/为DataSet添加两个Table_AX
- TQ210 —— S5PV210 gboot设计
- 基于HTML5的WebGL实现的2D3D迷宫小游戏
- 风变python培训_风变python学习小结
- 通俗易懂的生产环境Web应用架构介绍
- 给BERT加一个loss就能稳定提升?斯坦福+Facebook最新力作!
- 北航计算机组成重修,北航计算机组成原理123希望大伙把作业上传.pdf
- SpringSecurity前后端分离
- 玩归玩,闹归闹,别拿抽奖开玩笑
- 吊打全球的顶级毫米波数字阵列项目-MIDAS
- 微生物群落结构差异分析
- Linux 开机引导和启动过程详解
- AndroidTagView 云标签
- 基于深度学习的表面缺陷检测方法综述-论文阅读笔记
- 昇腾Mindstudio官方样例黑白图片上色
- 主板是2011针服务器型号,华硕服务器主板 Z9PA-D8/C 双路2011针脚
- MySQL的TRUNCATE()函数
- UE4资源热更打包工具HotPatcher
- JS面试题--ES6知识大全
热门文章
- Python3.7,在Anaconda中安装PIL
- Linux shell: ls命令详解
- Codeforces Global Round 23 E CF1746E Joking (Hard Version)
- 【计算几何】计算几何复习
- [UVA 10635] Prince ans Princess
- 【Android实战】保存QQ账号与密码
- Git版本控制的使用
- Scrum 项目 4.0-5.0-约教网站开发(一)
- 无法为数据库中的对象分配空间,因为'PRIMARY'文件组已满问题处理方式
- 利用迈克尔逊干涉仪和傅里叶变换光谱法测量相干性