使用supervisor启动进程open files too many问题

news2024/11/24 14:43:29

今天线上出现了open files too many的问题,查看问题:

1. ulimit -a查看系统最大值发现可以开启的文件句柄只有1024个

 

果断修复:

 1. 查看全局配置文件
ls /etc/security/limits.d/

比如环境中有如下配置文件,20-nproc.conf名字可能每个机器不太一样:
/etc/security/limits.d/20-nproc.conf

运行以下命令:

cat > /etc/security/limits.d/20-nproc.conf << EOF
* soft nproc 655350
* hard nproc 655350
* soft nofile 655350
* hard nofile 655350
EOF

2. 查看sysctl.conf

ll -a /etc/sysctl.d/

看到有配置文件/etc/sysctl.d/99-sysctl.conf,更改配置文件内容:

cat > /etc/sysctl.d/99-sysctl.conf << EOF
fs.file-max = 655350
vm.swappiness = 0
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
EOF

启用配置

sysctl --system
sysctl -p /etc/sysctl.d/99-sysctl.conf

重新登录终端,查看系统参数已经修改过来:

现在只是系统的限制更改了,进程在启动的时候已经分配了一个最大的可开启文件句柄数,可以通过cat /proc/{PID}/limits查看。因为使用的supervisor管理进程,查看进程PID,并且查看限制数量:

[root@main-ctrl01 ~]# supervisorctl status 
controller                 RUNNING   pid 9411, uptime 6 days, 22:12:31

 最大值为4096,此时我是有点迷惑的,因为原先系统限制只有1024,这个4096是从哪来的?

反正有问题,先不管了,先重启进程。考虑到supervisor启动的进程,其实父进程是supervisord进程,所以直接重启supervisord,由supervisord自己重启管理的进程,运行以下命令,然后看到进程重新起来了,查看进程的文件描述符限制:

[root@main-ctrl01 ~]# systemctl restart supervisord
[root@main-ctrl01 ~]# supervisorctl status 
controller                 RUNNING   pid 6045, uptime 0:00:17

cat /proc/{PID}/limits

还是4096,不对劲。中间尝试不使用supervisor启动进程,直接java -jar启动,暂时恢复了线上业务。

然后找解决办法,基本定为就是supervisor问题,查看了一下解决方案,supervisor是使用systemctl管理的,更改配置文件:/usr/lib/systemd/system/supervisord.service

cat > /usr/lib/systemd/system/supervisord.service << EOF
[Unit]
Description=Supervisor process control system for UNIX
Documentation=http://supervisord.org
After=network.target

[Service]
Type=forking
LimitNOFILE=infinity
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
EOF

 即添加:LimitNOFILE=infinity 参数

然后找了个测试环境重启systemctl restart supervisord:

[root@main-ctrl01 ~]# systemctl restart supervisord
[root@main-ctrl01 ~]# supervisorctl status 
controller                 RUNNING   pid 29646, uptime 0:00:11

果然修改了过来:

然后夜深人静的夜晚凌晨00:30,把进程启动方式改回supervisor。这都是默认安装的坑啊。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/766248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

e2e测试框架之Cypress

谈起web自动化测试&#xff0c;大家首先想到的是Selenium&#xff01;随着近几年前端技术的发展&#xff0c;出现了不少前端测试框架&#xff0c;这些测试框架大多并不依赖于Selenium&#xff0c;这一点跟后端测试框架有很大不同&#xff0c;如Robot Framework做Web自动化测试本…

linux -rw-r--r-x的含义

-rw-r--r-x的含义 权限显示位一共为10位&#xff0c;分为四段&#xff0c;从第2位算起&#xff0c;每3个1组 -rw-r--r-x-表示为普通文件文件所属用户拥有的权限rw-&#xff1a;426该用户所属组拥有的权限r--&#xff1a;4其他用户拥有的权限r-x&#xff1a;415 操作英文对应数…

计及需求响应和电能交互的多主体综合能源系统主从博弈优化调度策略(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码、数据、文章 &#x1f4a5;1 概述 文献来源&#xff1a; 摘要&#xff1a;针对区域综合能源系统多物理系统耦合和多利益主体参与特点,如何考虑各运行主体调度地位与调度…

Spring初识(二)

前言 经过前面的学习,我们已经知道spring就是包含了众多方法的Ioc,那么既然是容器,就具备两个功能,我们接下来就是要介绍以下两个功能: 1.将对象存储到容器(spring)中: 2.从容器(spring)中将对象取出来. 这两个功能就应发出来,spring的创建和使用. 一.Spring创建 我们先来说…

web浏览器在线预览Excel,PDF,world文档解决方案

众所周知啊&#xff0c;在web浏览器中是无法直接预览Excel、world文档等文件的&#xff0c;PDF有的浏览器是打开预览&#xff0c;有的浏览器是跳转到下载页&#xff0c;行为不一致也是让开发者头疼的事情。 今天给大家提供一个解决方案&#xff0c;实现office文件在线预览的解…

vue3中使用Vue.Draggable的clone模式及遇到的坑

最近有个需求是从左边一个列表中&#xff0c;拖动列表元素到右边列表中&#xff0c;并且不是移动拖拽&#xff0c;而是复制拖拽&#xff0c;元素在右边列表中可以重复&#xff0c;比如左边是参加某个游戏的队员名单&#xff0c;右边是出场顺序&#xff0c;队员可以重复上场。类…

网络运维工作是什么的?

互联网运维工作&#xff0c;以服务为中心&#xff0c;以稳定、安全、高效为三个基本点&#xff0c;确保公司的互联网业务能够 724 小时为用户提供高质量的服务。 运维人员对公司互联网业务所依赖的基础设施、基础服务、线上业务进行稳定性加强&#xff0c;进行日常巡检发现服务…

【数学建模】数据预处理

在数学建模赛题中&#xff0c;官方给所有选手的数据可能受到主观或客观条件的影响有一定的问题&#xff0c;如果不进行数据的处理而直接使用的话可能对最终的结果造成一定的影响&#xff0c;因此为了保证数据的真实性和建模结果的可靠性&#xff0c;需要在建模之前对数据进行相…

VS工程项目中属性中无Qt设置问题解决方案

VS工程项目中属性中无Qt设置问题解决方案 若VS工程中&#xff0c;创建的是Qt工程&#xff0c;或者从Qt Creator工程转换为VS 工程时&#xff0c;VS项目属性中确无Qt Project Setttings等设置时&#xff0c;可通过如下方案解决 1. 右键项目&#xff0c;在下拉框中选择Qt项 2.…

微信号长时间不用会被腾讯回收

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 估计很多人不知道的一个冷知识&#xff1a;你的微信号并不归你本人所有&#xff0c;你只有账号的使用权&#xff0c;微信账号的所有权归腾讯公司所有。如果长期不使用&#xff0c;或者是违规&#…

MySQL—创建和管理表(六)

1.数据库相关操作 -- 1 创建数据库 -- 1.1 创建一个保存员工信息的数据库 CREATE DATABASE employees; -- 1.2 其他相关指令 -- 1.2.1 查看当前所有数据库 SHOW DATABASES; -- 1.2.2 “使用”一个数据库&#xff0c;使其作为当前数据库 USE employees;-- 2 命名规则 -- 见ppt …

虹科分享 | MACsec-先进的车载网络安全解决方案

Media Access Control Security&#xff08;简称 MACsec&#xff09;是以太网上最先进的安全解决方案。它为以太网上传输的几乎所有帧提供完整性保护、重放保护和可选的机密性保护。与其他解决方案相比&#xff0c;包括了单播、组播和广播消息以及在第2层上运行的所有协议。 M…

3D虚拟展厅和VR全景展厅该如何选择

导言&#xff1a; 在当今数字化时代&#xff0c;传统展厅已逐渐演变为3D虚拟展厅和VR全景展厅。这些技术的广泛应用为企业带来了全新的营销和展示方式。 一&#xff0e;3D虚拟展厅的特点和优势 3D虚拟展厅是一种基于3D技术的虚拟展示空间&#xff0c;通过计算机图像和模拟技术…

【C语言进阶(九)】常见内存错误以及柔性数组

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C语言学习分享⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多C语言知识   &#x1f51d;&#x1f51d; 常见内存错误 1. 前言2. 对NULL指针…

伦敦银价格一览表

一目均衡表&#xff08;Ichimoku Kinko Hyo&#xff09;是日本在二次大战前发明的行情分析方法&#xff0c;是全世界技术分析的鼻祖&#xff0c;其功能是提供市场的方向及入市位&#xff0c;被广泛应用于股市、债市和贵金属市场之中。日文KINKO的意思为时空平衡点&#xff0c;H…

Blueprint —— 入门笔记2

BP_Character Animation BlueprintBlend Space 1D 角色按键动画 命令slomo 0.1减慢时间&#xff0c;用于测试&#xff1b; 玩家输入&#xff1a;位移、旋转、缩放&#xff1b; 碰撞检测&#xff1a;执行动作等&#xff1b; 游戏开始 地图&#xff0c;开始游戏页面 打开地图 输入…

用于视觉跟踪的在线特征选择研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

如何在Appium中使用AI定位

当我们在写自动化测试脚本的时候&#xff0c;传统情况下一定要知道元素的属性&#xff0c;如id、name、class等。那么通过AI的方式定位元素可能就不需要知道元素的属性&#xff0c;评价人对元素的判断来定位&#xff0c;比如&#xff0c;看到一个搜索框&#xff0c;直接使用ai:…

Tomcat安装及配置教程(IDEA整合Tomcat)

目录 友情提醒第一章、Tomcat下载与安装1.1&#xff09;Tomcat介绍1.2&#xff09;官网下载 第二章、Tomcat配置环境变量2.1&#xff09;windows环境变量配置2.2&#xff09;验证Tomcat配置是否成功2.3&#xff09;报错解决 第三章、IDEA整合Tomcat3.1&#xff09;打开IDEA开发…

11.Ceph 对象存储系统 RGW 接口

文章目录 Ceph 对象存储系统 RGW 接口概念逻辑单位创建RGW接口开启httphttps创建RadosGW账户S3接口访问测试 Ceph 对象存储系统 RGW 接口 概念 对象存储&#xff08;object storage&#xff09;是非结构数据的存储方法&#xff0c;对象存储中每一条数据都作为单独的对象存储&…