首页 > 系统相关 >Linux文件描述符数的查看与配置

Linux文件描述符数的查看与配置

时间:2022-12-19 22:00:24浏览次数:48  
标签:fs 查看 ulimit hard 描述符 limit Linux soft

前戏

生产环境因系统文件打开数太小导致服务挂掉了

系统最大打开文件描述符数

查看

cat /proc/sys/fs/file-max

Linux文件描述符数的查看与配置_描述符

设置

临时配置

echo 100000000000000 > /proc/sys/fs/file-max

永久性配置

编辑/etc/sysctl.conf文件

fs.file-max = 100000000000000

进程最大打开文件描述符数

查看

 ulimit -n

Linux文件描述符数的查看与配置_文件描述符_02

设置

临时性:通过ulimit -Sn设置最大打开文件描述符数的soft limit,注意soft limit不能大于hard limit(ulimit -Hn可查看hard limit),另外ulimit -n默认查看的是soft limit,但是ulimit -n 1800000则是同时设置soft limit和hard limit。对于非root用户只能设置比原来小的hard limit。

查看hard limit执行:

ulimit -Hn

设置soft limit,必须小于hard limit:

ulimit -Sn 1600000

永久性:上面的方法只是临时性的,注销重新登录就失效了,而且不能增大hard limit,只能在hard limit范围内修改soft limit。若要使修改永久有效,则需要在/etc/security/limits.conf中进行设置(需要root权限),可添加如下两行,表示用户chanon最大打开文件描述符数的soft limit为1800000,hard limit为2000000。以下设置需要注销之后重新登录才能生效:

chanon soft nofile 1800000

chanon hard nofile 2000000

设置nofile的hard limit还有一点要注意的就是hard limit不能大于/proc/sys/fs/nr_open,假如hard limit大于nr_open,注销后无法正常登录。可以修改nr_open的值,执行:

echo 2000000 > /proc/sys/fs/nr_open

查看当前系统使用的打开文件描述符数

查看

cat /proc/sys/fs/file-nr 

Linux文件描述符数的查看与配置_打开文件_03

其中第一个数表示当前系统已分配使用的打开文件描述符数,第二个数为分配后已释放的(目前已不再使用),第三个数等于file-max。

敲黑板

  1. 所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max
  2. 单个进程打开的文件描述符数不能超过user limit中nofile的soft limit
  3. nofile的soft limit不能超过其hard limit
  4. nofile的hard limit不能超过/proc/sys/fs/nr_open


标签:fs,查看,ulimit,hard,描述符,limit,Linux,soft
From: https://blog.51cto.com/u_15222272/5953885

相关文章

  • Linux中源码安装软件
    源码安装以安装nginx为例:(1)安装准备:yuminstallgccgcc-c++gcc-g77;(2)下载源码包直接官网下载然后通过tar-zxvf命令解压到相应路径。 (3)安装源码包。编译安装软......
  • Linux 基础-文件权限与属性
    一,文件类型二,文件属性与权限三,Linux文件属性与权限总结四,参考资料Linux系统由Linux内核、shell、文件系统和第三方应用软件组成。Linux文件权限与属性是学习Li......
  • Linux Module
    LinuxModulecatalog1.概述2.使用模块3.插入和删除模块4.自动化与热插拔5.版本控制 1.概述模块(module)是一种向Linux内核添加设备驱动程序......
  • linux网络编程-进程间通信——信号
    信号是进程间通信的方式之一,进程之间通过发送和接收不同的值来通信,这些不同的值被标示为各种信号。我们使用kill指令杀死一个进程,本质上是kill这个程序给对应的进程发送了......
  • linux设备树实现多个中断父(interrupt-parent)节点
    方法一: interrupts-extended: 指定中断和父中断的另一种形式,允许多个父中断。这优先于'interrupts'和'interrupt-parent'。#interrupt-cells=<2>;interrupts-ext......
  • linux程序保护机制&gcc编译选项
    转载自:https://www.jianshu.com/p/91fae054f922总结NX:-zexecstack/-znoexecstack(关闭/开启)Canary:-fno-stack-protector/-fstack-protector/-fstack-protec......
  • Linux基础-查看cpu、内存和环境等信息
    使用Linux系统的过程中,我们经常需要查看系统、资源、网络、进程、用户等方面的信息,查看这些信息的常用命令值得了解和熟悉。1,系统信息查看常用命令如下:lsb_release-a......
  • Linux基础-文本处理命令
    概述find文件查找grep文本搜索参考资料概述Linux下使用Shell处理文本时最常用的工具有:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk。find......
  • linux防火墙
    https://www.cnblogs.com/kqdssheng/p/16405868.htmlhttps://zhuanlan.zhihu.com/p/580178712 1、netfilter、iptables、firewall、ufw之间的关系:netfilter-->iptables......
  • linux(Ubuntu)安装QQ2013
    首先简述自己的系统配置:win7+ubuntu12.04linuxQQ有各种版本,这里介绍两种:linuxQQ和wineQQ 1------linuxqq是QQ简化版,功能很少,界面很差,但是安装简单     下载地......