linux 设置打开文件数

可以使用下面的文件进行设置

/etc/security/limits.d/90-nproc.conf

先来看/etc/security/limits.d/90-nproc.conf 配置文件:

[root@ ~]# cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.


*          soft    nproc     1024
root       soft    nproc     unlimited
系统其它普通用户最多进程默认是1024个,而root用户是 unlimited(不受限制)

/etc/security/limits.conf 配置文件可限制文件打开数,系统进程等资源,在该文件配置中写的最大用户进程数是受/etc/security/limits.d/90-nproc.conf配置上限影响的。

一般系统普通用户进程数满了都是修改/etc/security/limits.d/90-nproc.conf文件。
 

为什么要限制打开文件的数量?

因为操作系统需要内存来管理每个文件,所以可以打开的文件数可能会受到限制。由于程序也可以关闭文件处理程序,它可以创建任意大小的文件,直到所有可用磁盘空间都已满为止。在这种情况下,安全性的一个方面是通过施加限制来防止资源耗尽。

可以看到Linux系统中打开的文件描述符的最大数量,如下所示:

[root@localhost ~]# cat /proc/sys/fs/file-max 

180965

一般我们也是可以修改 /etc/security/limits.conf 文件

[root@localhost ~]# vim /etc/security/limits.conf 

* hard nofile 20000

* soft nofile 15000

之后,需要编辑文件/etc/pam.d/login配置文件,在最后添加以下一条内容:

[root@localhost ~]# vim /etc/pam.d/login session    required pam_limits.so

保存文件。然后退出登录,或者重启系统。可以看到软限制和硬限制的值都修改成功了:

[root@localhost ~]# ulimit -Sn15000
[root@localhost ~]# ulimit -Hn
20000

方法三:

查看系统最大打开文件描述符数量:

[root@localhost ~]# cat /proc/sys/fs/file-max 
180965

临时设置该值:

[root@localhost ~]# echo "1000000" > /proc/sys/fs/file-max 

永久性设置,需要在/etc/sysctl.conf中设置,并让它生效:

[root@localhost ~]# echo "fs.file-max = 1000000" >> /etc/sysctl.conf 
[root@localhost ~]# sysctl -p
fs.file-max = 1000000

总结

所有进程打开的文件描述符数量不能超过/proc/sys/fs/file-max。

单个进程打开的文件描述符数不能超过user limit中nofile的soft limit。

nofile的soft limit不能超过其hard limit。

注意下面的提示:

修改/etc/security/limits.conf也可以达到目的,但是需要注意两个问题:
1.在配置文件中需要指明用户,如不指明,会有可能导致配置不生效(当两个配置文件都在生效时)。
2.书写有格式要求,* soft nproc 20480中间需要至少2个空格隔开。

注意:如果两个配置文件中都做了限制,以/etc/security/limits.d/90-nproc.conf中最小值为准
 

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

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

相关文章

TikTok矩阵玩法:如何最大程度地利用平台资源

在数字时代,TikTok已经成为全球范围内数亿用户的创意天堂,不仅仅是一个娱乐平台,还是一个创收的宝地。 TikTok矩阵玩法的崛起正在引领创作者们探索全新的变现方案,他们通过巧妙地利用平台资源,实现了前所未有的创收机…

李宏毅hw-6利用GAN生成动漫图像

一、查漏补缺、熟能生巧: 1.什么是转置卷积convTranspose、以及这种转置卷积怎么使用: (1)具体的原理直接看李沐老师的那个演示,非常清晰: 47 转置卷积【动手学深度学习v2】_哔哩哔哩_bilibili &#x…

从字符串中删除指定字符

任务描述 编写一个函数实现功能:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。例如:程序执行时输入字符串:turbo c and Borland c,从键盘输入字符n,则输出后变为:turbo c ad Borlad c。如…

【Java】全套云HIS(医院信息管理系统)源码包含EMR、LIS

云HIS系统简介 SaaS模式Java版云HIS系统源码,在公立二甲医院应用三年,经过多年持续优化和打磨,系统运行稳定、功能齐全,界面布局合理、操作简便。 1、融合B/S版电子病历系统,支持电子病历四级,HIS与电子病…

爬虫 — 验证码反爬

目录 一、超级鹰二、图片验证模拟登录1、页面分析1.1、模拟用户正常登录流程1.2、识别图片里面的文字 2、代码实现 三、滑块模拟登录1、页面分析2、代码实现(通过对比像素获取缺口位置) 四、openCV1、简介2、代码3、案例 五、selenium 反爬六、百度智能云…

中央处理器(408)

一、基本结构 【2010统考】下列寄存器中,汇编语言程序员可见的是(B) A、MAR B、PC C、MDR D、IR 解析:IR、MAR、MDR是内部工作寄存器,对程序员不可见 可见:通用寄存器、程序状态字…

概率统计笔记:从韦恩图的角度区分 条件概率和联合概率

联合概率:两个或多个事件同时发生的概率。用 P(A∩B) 或 P(A,B) 表示 条件概率:在已知某个事件发生的条件下,另一个事件发生的概率。用P(A∣B) 表示在事件 B 发生的条件下,事件 A 发生的概率。 不难发现联合概率的样本空间更大&am…

基于Java的高校宣讲会管理系统设计与实现(亮点:选题新颖、功能实用、老师看见直接过!)

高校宣讲会管理系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统实现5.1 前…

Ubuntu22.04开启后屏幕黄屏

1. 故障现象 系统:Ubuntu22.04 现象:电脑从开机到进入桌面一直屏幕黄屏 2. 故障分析 可能为屏幕色彩调节出现故障 3. 解决方案 系统设置——》色彩——》删除原来的配置(remove profile)——》添加配置Colorspace:Compatibl…

加速乐源码(golang版本)

一、分析 分析过程网上有很多,这里只说个大概,主要是提供golang源码 请求网站,发现前两次请求都会返回521,第三次请求成功,说明前两次请求肯定是干了什么事情;使用接口请求工具模拟请求分析该过程 使用postman工具请求 a. 第一次请求会在响应头返回jsluid,返回内容中拼接…

华为OD机试 - 流水线 - 逻辑分析(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题&a…

提升前端开发效率:基于vue的van-radio-group组件封装指南

前言 vant 作为一款流行的 ui 框架,其中,van-radio-group 组件是一个常用的单选框组件,但有时我们需要根据项目需求进行定制化封装。本文将介绍如何基于 vue 框架封装 van-radio-group 组件,让我们一起来探索吧! 封装文…

EFK代替ELK方案7.17.3

文章目录 一. 传统的ELK二. EFK2.1 安装elasticSearch2.2 服务端安装fileBeats2.2.1. 安装 该也没有必要安装odcker,直接下载yum或官网jar包启动即可.2.2.2.编辑配置文件 filebeat-java-logback.yml2.2.3. es配置common_log_pipeline解析日志 三.启动测试 最近发现,logstash日志…

性能测试 —— Jmeter 常用三种定时器

1、同步定时器 位置:HTTP请求->定时器->Synchronizing Timer 当需要进行大量用户的并发测试时,为了让用户能真正的同时执行,添加同步定时器,用户阻塞线程,知道线程数达到预先配置的数值,才开始执行…

rk平台快捷键进入uboot模式和烧录模式

(1)进入U-boot命令行模式 上电时,多次按下ctrlc按键(2)进入maskrom烧录模式 方法一:上电时(或者reboot时),多次按下ctrlb 方法二:在uboot命令 手敲rbrom

vue3 - 使用reactive定义响应式数据进行赋值时,视图没有改变,值已经改变的解决方案

问题: 在Vue 3.0 中我们使用 reactive() 定义的响应式数据的时候,当是一个数组或对象时,我们直接进行赋值,发现数据已经修改成功,但是页⾯并没有自动渲染成最新的数据;这是为什么呢? 就如同官网…

线性代数的本质(二)——线性变换与矩阵

文章目录 线性变换与矩阵线性变换与二阶方阵常见的线性变换复合变换与矩阵乘法矩阵的定义列空间与基矩阵的秩逆变换与逆矩阵 线性变换与矩阵 线性变换与二阶方阵 本节从二维平面出发学习线性代数。通常选用平面坐标系 O x y Oxy Oxy ,基向量为 i , j \mathbf i,…

数据结构-时间复杂度/空间复杂度

Hello,好久没有更新了哦,已经开始学习数据结构了,这篇文章呢就是对刚学数据结构所接触到的时间复杂度进行一个分享哦,如果有错误之处,大家记得拍拍我哦~ 既然要讨论时间/空间复杂度,那我们就得知道时间/空…

SpringBoot国际化配置组件支持本地配置和数据库配置

文章目录 0. 前言i18n-spring-boot-starter1. 使用方式0.引入依赖1.配置项2.初始化国际化配置表3.如何使用 2. 核心源码实现一个拦截器I18nInterceptorI18nMessageResource 加载国际化配置 3.源码地址 0. 前言 写个了原生的SpringBoot国际化配置组件支持本地配置和数据库配置 背…

tdesign的文件上传(微信小程序+idea的springboot)

目录 1. springboot后端 1.1 FileController.java 1.2 listener文件的ErpApplicationListener.java 1.3 【重点!】FileServiceImpl层 1.4 IFileService 1.5 StringUtil通用类 1.6 主程序加一个监听器 1.7 application.yml文件 2. 微信小程序端 2.1 TDesign的…