zoukankan      html  css  js  c++  java
  • Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别

    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-nr

    [root@localhost logs]# cat /proc/sys/fs/file-nr
    2112                                           0                             2100000

    已分配文件句柄的数目     已使用文件句柄的数目      文件句柄的最大数目

    转载于:https://blog.51cto.com/13718210/2359978

  • 相关阅读:
    PythonのTkinter基本原理
    使用 Word (VBA) 分割长图到多页
    如何使用 Shebang Line (Python 虚拟环境)
    将常用的 VBScript 脚本放到任务栏 (Pin VBScript to Taskbar)
    关于 VBScript 中的 CreateObject
    Windows Scripting Host (WSH) 是什么?
    Component Object Model (COM) 是什么?
    IOS 打开中文 html 文件,显示乱码的问题
    科技发展时间线(Technology Timeline)
    列置换密码
  • 原文地址:https://www.cnblogs.com/twodog/p/12135078.html
Copyright © 2011-2022 走看看