Linux系统最大打开文件数量配置

Linux系统最大打开文件数量配置

  • 前言
    • 概念:分为当前进程和系统最大文件数。
  • 查看当前进程的最大打开文件数量 ulimit -n ,ulimit -a
    • -a参数可以展示出详细的参数,即我们可以对什么资源做限制。
      • 系统资源被定义在***/etc/security/limits.conf***的文件中,当我们使用ulimit的时候,就是在使用这个文件里定义的值。
  • 查看当前系统的最大文件打开数量
  • ulimit
    • 如上图的显示结果,列举一些常用的参数
      • 查看
      • 配置
  • 修改进程的最大打开文件数量
    • 临时修改 ulimit -n 数值
    • 永久修改

前言

这个参数的配置会影响到系统的进程和性能瓶颈。工作中比较常用。
linux系统对文件打开的数量有最大的限制,通常设置为1024,但很容易达到。容易造成系统程序或者系统的瓶颈。
因此,本文从进程本身和系统上说明如何更改linux最大文件数的限制

概念:分为当前进程和系统最大文件数。

系统的最大文件数指的是所有进程可以打开的文件数量总和。

查看当前进程的最大打开文件数量 ulimit -n ,ulimit -a

仅查看最大文件打开数
[root@iZuf6i5xnizusxj9442j52Z ~]# ulimit -n
65535查看所有的
[root@iZuf6i5xnizusxj9442j52Z ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14366
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 14366
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

-a参数可以展示出详细的参数,即我们可以对什么资源做限制。

这里的限制有两种类型:soft & hard。
hard资源限制意味着是物理限制;
soft资源限制是由用户进行管理的,soft的最大值由hard来限制。

系统资源被定义在***/etc/security/limits.conf***的文件中,当我们使用ulimit的时候,就是在使用这个文件里定义的值。

[root@iZuf6i5xnizusxj9442j52Z ~]# cat /etc/security/limits.conf#<domain>      <type>  <item>         <value>
##*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4# End of file
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535

查看当前系统的最大文件打开数量

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

ulimit

ulimit是一个可以设置或者汇报当前用户资源限制的命令。
使用ulimit命令需要有管理员权限,它只能在允许使用shell进行控制的系统中使用。它已经被嵌入到shell当中了。

ulimited 表示资源可无限使用 系统的资源。

如上图的显示结果,列举一些常用的参数

查看

ulimit -c # 查看core file文件的最大值
ulimit -d # 查看数据段的最大值
ulimit -e # 查看当前用户的最大调度优先级
ulimit -s # 当前用户的最大栈大小
ulimit -u # 当前用户的最大进程数
ulimit -v # 查看虚拟内存的大小
ulimit -b # 查看socket buffer的大小
ulimit -t # 查看每个进程允许运行的时间
ulimit -n # 查看一个进程可以最多有多少文件描述符

配置

-H 设置硬资源限制.
-S 设置软资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes
-u <程序数目>  用户最多可开启的程序数目

修改进程的最大打开文件数量

临时修改 ulimit -n 数值

只在当前的shell生效,再打开其他shell,查看数值不变。

[root@iZuf6i5xnizusxj9442j52Z ~]# ulimit -n 1024
[root@iZuf6i5xnizusxj9442j52Z ~]# ulimit -n 
1024

永久修改

[root@iZuf6i5xnizusxj9442j52Z ~]# echo "* soft nofile 1024" >> /etc/security/limits.conf [root@iZuf6i5xnizusxj9442j52Z ~]# cat /etc/security/limits.conf  | tail -16#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4# End of file
root soft nofile 65535
root hard nofile 65535
#* soft nofile 65535
* hard nofile 65535
* soft nofile 1024
* soft nofile 1024
[root@iZuf6i5xnizusxj9442j52Z ~]# 

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

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

相关文章

项目经验:别啥事都跟甲方讲

看过一个港片&#xff0c;片名一时想不起来了&#xff08;脑子不好&#xff0c;根本记不住多少名字&#xff09;&#xff0c;情节大概是一个学拍电影的副导演和一个职业杀手&#xff0c;副导演给杀手拍片记录杀人过程给金主看&#xff0c;电影蛮逗的&#xff0c;里面一个情节挺…

【JS重点11】解构赋值-对象解构

对象解构是将对象属性和方法快速批量赋值给一系列变量的简洁语法 一&#xff1a;基本语法 const obj {uname: 微木,age: 10}const { uname, age } objconsole.log(uname, age); 对象解构的变量名要与解构对象中属性名相同&#xff0c;否则就会返回undefined解构的变量名不能…

计算机网络(3) 字节顺序:网络字节序与IPv4

一.小端与大端 小端&#xff08;Little endian&#xff09;&#xff1a;低字节保存在内存低地址&#xff0c;高字节保存在内存高地址。 大端&#xff08;Big endian&#xff09;&#xff1a;低字节保存在内存高地址&#xff0c;高字节保存在内存低地址。 例如&#xff08;14…

Python私教张大鹏 Vue3整合AntDesignVue之DatePicker 日期选择框

案例&#xff1a;选择日期 <script setup> import {ref} from "vue";const date ref(null) </script> <template><div class"p-8 bg-indigo-50 text-center"><a-date-picker v-model:value"date"/><a-divide…

Day50 代码随想录打卡|二叉树篇---验证二叉搜索树

题目&#xff08;leecode T98&#xff09;&#xff1a; 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右…

unity开发Hololens编辑器运行 按空格没有手

选择DictationMixedRealityInputSystemProfile 如果自定义配置文件 需要可能需要手动设置 手部模型和材质球

Centos: ifconfig command not found且ip addr查不到服务器IP

前段时间部门新派发了服务器&#xff0c;让我过去使用U盘装机&#xff0c;装完后使用ifconfig查不到服务器IP地址&#xff0c;ip addr也是查不到 ifconfig&#xff1a;command not found (这两个图片先用虚拟机的替代一下) 在网上找资料(CSDN&#xff0c;博客园&#xff0c;知乎…

深入理解Java中Transactional在不同方法间的穿透性及rollbackFor参数的应用

在线工具站 推荐一个程序员在线工具站&#xff1a;程序员常用工具&#xff08;http://cxytools.com&#xff09;&#xff0c;有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具&#xff0c;效率加倍嘎嘎好用。 程序员资料站 推荐一个程序员编程资料站&#xff1a;…

使用 Vue 和 Ant Design 实现抽屉效果的模块折叠功能

功能描述&#xff1a; 有两个模块&#xff0c;点击上面模块的收起按钮时&#xff0c;上面的模块可以折叠&#xff0c;下面的模块随之扩展 代码实现&#xff1a; 我们在 Vue 组件中定义两个模块的布局和状态管理&#xff1a; const scrollTableY ref(560); // 表格初始高度…

【HTML】格式化文本 pre 标签

文章目录 <pre> 元素中的文本以等宽字体显示&#xff0c;文本保留空格和换行符。 <pre> 元素支持 HTML 中的全局属性和事件属性。 示例&#xff1a; <pre> pre 元素中的文本 以等宽字体显示&#xff0c; 并且同时保留 空格 和 换行符。 </pre&…

git创建新分支

在Git中&#xff0c;要创建一个新的分支&#xff0c;可以使用以下命令&#xff1a; git branch <branch-name>这将创建一个名为 <branch-name> 的新分支&#xff0c;但它将仍然停留在当前分支上。要切换到新创建的分支&#xff0c;可以使用以下命令&#xff1a; …

分类模型:MATLAB判别分析

1. 判别分析简介 判别分析&#xff08;Discriminant Analysis&#xff09; 是一种统计方法&#xff0c;用于在已知分类的样本中构建分类器&#xff0c;并根据特征变量对未知类别的样本进行分类。常见的判别分析方法包括线性判别分析&#xff08;Linear Discriminant Analysis, …

人工智能的潜在威胁:罗曼·扬波尔斯基对AGI的警示

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;技术正迅速成为人类社会不可或缺的一部分。然而&#xff0c;随着人工智能技术的发展&#xff0c;一些科学家对其潜在的危险表示了担忧。本文将深入探讨计算机科学家罗曼扬波尔斯基对人工智能特别是人工通用智…

兔子与兔子

#include <bits/stdc.h> #define ull unsigned long long using namespace std; //const ll P1e97; const ull base131; //挺好用的一个hash base const int N1e610; int m; ull sum[N],powe[N]; char s[N]; int main() { scanf( "%s",s1 ); powe[0]…

Python学习笔记7:入门知识(七)

前言 之前说过我更换了新的学习路线&#xff0c;现在是根据官方文档和书籍Python crash course来进行学习的&#xff0c;在目前的学习中&#xff0c;对于之前的知识有一些遗漏&#xff0c;这里进行补充。 学习资料有两个&#xff0c;书籍中文版PDF&#xff0c;关注我私信发送…

k8s_示例_根据CPU使用率自动扩展Pod数量并使Pod分布在不同节点

我们从制作测试用镜像开始,后续一步一步实现在k8s中使pod根据cpu用量自动扩展pod个数。 知识准备 在做这个示例之前,需要了解k8s(也叫kubernetes)基本原理,了解k8s是用来干嘛的即可,以及deployment、service、hpa、镜像、docker等概念。不然会有些晕的,不知道这些配置和…

2024年本科毕业设计优秀节选

可塑之才&#xff0c;大有前途。排名不分先后。世界是你们的。祝贺你们顺利毕业&#xff01; W某天&#xff0c;电子数据存储与访问控制机制设计&#xff0c;电气智能20-5&#xff0c;视频链接&#xff1a; 【PBFT-Caliper压测-哔哩哔哩】 PBFT-Caliper压测_哔哩哔哩_bilibil…

Joplin Typora 粘贴图片 | 当使用Typora作为Joplin编辑器时,如何粘贴图片并上传到Joplin服务器,替换链接

一、背景 当我们使用Joplin时&#xff0c;上传图片时会自动上传到Joplin服务器并替换链接 但是Joplin的编辑器不好用&#xff0c;我更习惯用Typora来编辑&#xff0c; 然而Typora中上传的图片只能在本地&#xff0c;无法上传到Joplin服务器&#xff0c;在其他客户端也看不到图片…

QT向已有ZIP中追加文件

向已有ZIP中追加文件&#xff0c;使用qt自带的QZipWriter和quazip库均失败了&#xff0c;要么格式损坏、要么ZIP里面的原有的文件清空了 使用7z.exe可以实现 : 指令 7z.exe a A.zip B.txt&#xff0c;使用代码控制如下 #include <QCoreApplication> #include <QFile…

C#——方法函数详情

方法(函数) C#是面向对象的,所以C#中的方法也是相对于对象来说的,是指某个对象的行为,比如,有一个动物的类,兔子是这个动物类里的一个对象,那么跳这个行为就是兔子这个对象的方法了.其实也就是C中的函数(C是面向过程的,叫函数). 方法: 就是把一系列相关的代码组织到一块 用于…