max-file 表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制,并不是针对用户的。

ulimit -n 控制进程级别能够打开的文件句柄的数量。提供对shell及其启动的进程的可用文件句柄的控制。这是进程级别的。

对于服务器来说,file-max和ulimit都需要设置,否则会出现文件描述符耗尽的问题。

一般如果遇到文件句柄达到上限时,会碰到"Too many open files"或者Socket/File: Can’t open so many files等错误。

为了让服务器重启之后,配置仍然有效,需要用永久生效的配置方法进行修改。

max-file:

查看系统级别的能够打开的文件句柄的数量,Centos7默认是794168

# cat /proc/sys/fs/file-max

794168

系统级打开最大文件句柄的数量永久生效的修改方法,修改文件,文件末尾加入配置内容:

# vim /etc/sysctl.conf

fs.file-max = 2000000

然后执行命令,使修改配置立即生效:

# sysctl -p

ulimit:

查看用户进程级的能够打开文件句柄的数量,Centos7默认是1024

这里设置的是当前shell的当前用户的打开的最大限制,如果当前用户打开多个shell,则每个shell都能打开该最大值

# ulimit -n

1024

进程级打开文件句柄数量永久生效的修改方法,修改文件,文件末尾加入配置内容:

这里限制一个用户的所有shell能打开的最大数:

# vim /etc/security/limits.conf

* soft nofile 65535

* hard nofile 65535

修改以后,需要重新登录才能生效。

如果需要设置当前用户session立即生效,还需要执行:

# ulimit -n 65535

对于服务器,一般修改进程级的最大打开文件句柄数即可(系统默认1024,有点小)。一般不需要调整系统级的最大数。

如果出现了达到系统级别最大限制时,也需要同步调整系统级的最大数的。

设置Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别的更多相关文章

  1. Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别

    max-file 表示系统级别的能够打开的文件句柄的数量.是对整个系统的限制,并不是针对用户的.ulimit -n 控制进程级别能够打开的文件句柄的数量.提供对shell及其启动的进程的可用文件句柄的 ...

  2. linux /proc/sys/fs/file-nr /proc/sys/fs/file-max /etc/security/limits.conf 三者的关联

    ulimit -n 对应 /etc/security/limits.conf 文件设置 问题: Can’t open so many files 对于linux运维的同学们,相信都遇到过这个问题. 在 ...

  3. /proc/sys/fs/file-max

    Linux的/proc/sys/fs/file-max决定了当前内核可以打开的最大的文件句柄数. 查看当前的值: cat /proc/sys/fs/file-max 这个值在kernel的文档里是这样 ...

  4. 查询修改linux 打开文件句柄数量

    查询系统支持最大可打开文件句柄数量: #vi /proc/sys/fs/file-max 查询当前连接用户最大可打开文件句柄数量: #ulimit -a 修改当前连接用户最大可打开文件句柄数量: #u ...

  5. stuff in /proc/sys/fs/

    This subdirectory contains specific file system, file handle, inode, dentry and quota information. 1 ...

  6. Difference between ulimit, lsof, cat /proc/sys/fs/file-max

    https://unix.stackexchange.com/questions/476351/difference-between-ulimit-lsof-cat-proc-sys-fs-file- ...

  7. linux kernel (proc文件系统)参数

    http://blog.csdn.net/guowake/article/details/3279796 Linux Proc文件系统,通过对Proc文件系统进行调整,达到性能优化的目的. 二./pr ...

  8. /proc/sys目录下各文件参数说明

    linux 其他知识目录 原文链接:https://blog.csdn.net/hshl1214/article/details/4596583 一.前言本文档针对OOP8生产环境,具体优化策略需要根 ...

  9. [转帖]/proc/sys目录下各文件参数说明

    /proc/sys目录下各文件参数说明 https://blog.csdn.net/luteresa/article/details/68061881   一.前言 本文档针对OOP8生产环境,具体优 ...

随机推荐

  1. 【转载】IntelliJ IDEA 内存优化最佳实践

    本文转自 http://blog.oneapm.com/apm-tech/426.html [编者按]本文作者在和同事的一次讨论中发现,对 IntelliJ IDEA 内存采用不同的设置方案,会对 I ...

  2. 网络编程(2)—UDP

    1.UDP协议: 将数据.源.目的封装成数据包,不需要建立连接 每个数据包大小在64K一下 因无需建立连接,所以是不可靠的 发送完毕,无需释放资源,速度快 2.UDP编程步骤: 发送端: 1.创建发送 ...

  3. python:函数中五花八门的参数形式(茴香豆的『回』字有四种写法)

    毫不夸张的说,python语言中关于函数参数的使用,是我见过最为灵活的,随便怎么玩都可以,本文以数学乘法为例,演示几种不同的传参形式: 一.默认参数 def multiply1(x, y): retu ...

  4. AngularJS转换请求内容

    在"AngularJS中转换响应内容"中,体验了如何转换响应内容.本篇来体验如何转换请求内容. 主页面通过onSend方法把request对象转递出去. <form name ...

  5. Cancel-Based Recovery

    http://www.toadworld.com/platforms/oracle/w/wiki/1010.cancel-based-recovery.aspx Cancel-Based recove ...

  6. Spring MVC实现上传文件报错解决方案

    报错代码: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.sp ...

  7. 用Docker启动php-5.6 fpm服务配合宿主机nginx运行php测试环境

    因为Ubuntu18.04默认的openssl版本就是1.1.0, 而PHP5.6无法在openssl 1.1下编译 "PHP 5.6 is receiving only security ...

  8. mysql复制过程中的server-id的理解

    一.     server-id做什么用的,你知道吗? 1. mysql的同步的数据中是包含server-id的,用于标识该语句最初是从哪个server写入的,所以server-id一定要有的 2. ...

  9. CentOS 7.4安装Nginx 1.14.0

    一.安装所需环境   1.gcc 安装         yum install gcc-c++    

  10. java 路径分隔符自动适配

    linux文件路径分隔符为 /  ,windows的文件路径分隔符为  \   ,在开发项目过程中不确定用户使用何种操作系统,就需要自动适配路径. 目前已知java提供两种方法获取文件路径分割符: F ...