设置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,有点小)。一般不需要调整系统级的最大数。

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

时间: 2024-10-27 02:26:00

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

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运维的同学们,相信都遇到过这个问题. 在Linux下一切资源皆文件,普通文件是文件,磁盘打印机是文件,socket 当然也是文件.系统默认设置成1024,但是这个数字对于服务器特别是大并发的远远是不够的,所以,我们需要结合实际情况修改成一个更大更合理的值. 修改方法 临时解决方案: ulimit -SHn 65535 永久解决方案,注意,

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

查询系统支持最大可打开文件句柄数量: #vi /proc/sys/fs/file-max 查询当前连接用户最大可打开文件句柄数量: #ulimit -a 修改当前连接用户最大可打开文件句柄数量: #ulimit -f 81920 修改linux内核设置最大可打开文件句柄数量: #vi /etc/sysctl.conf fs.file-max=81920 修改系统软硬件支持打开最大够本数量 #vi /etc/security/limit.conf * soft nproc 81920 * hard

/proc/sys/fs 内容解析

This subdirectory contains specific file system, file handle, inode, dentry and quota information. 1,/proc/sys/fs/aio-max-nr aio-max-nr allows you to change the maximum value/proc/sys/fs/aio-nr can grow to. 2,/proc/sys/fs/aio-nr aio-nr shows the curr

inotify报错Failed to watch /opt; /proc/sys/fs/inotify/max_user_watches,K哥

2016.11.8 K哥有2台服务器使用了unison+inotify达到网站文件夹时时同步的效果 今天突然发现inotify占用很大CPU,可以用top命令查看 打开inotify日志查看原因 发现这一报错 Failed to watch /opt; upper limit on inotify watches reached!Please increase the amount of inotify watches allowed per user via `/proc/sys/fs/ino

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-max https://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/ https://access.redhat.com/documentation/en-us/red_hat_enterprise_li

linux kernel (proc文件系统)参数

http://blog.csdn.net/guowake/article/details/3279796 Linux Proc文件系统,通过对Proc文件系统进行调整,达到性能优化的目的. 二./proc/sys/kernel/优化1)     /proc/sys/kernel/ctrl-alt-del该文件有一个二进制值,该值控制系统在接收到ctrl+alt+delete按键组合时如何反应.这两个值分别是:零(0)值,表示捕获ctrl+alt+delete,并将其送至 init 程序:这将允许

linux /proc/sys

所有的TCP/IP调优参数都位于/proc/sys/net/目录.例如, 下面是最重要的一些调优参数,后面是它们的含义: 1./proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲 2./proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲 3./proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC 1323)TCP的包头增加12个字节 4./proc/sys/net/ipv4/tcp_sack 

Linux TCP/IP调优参数 /proc/sys/net/目录

所有的TCP/IP调优参数都位于/proc/sys/net/目录. 例如, 下面是最重要的一些调优参数,后面是它们的含义: /proc/sys/net/core/rmem_default "110592" 定义默认的接收窗口大小:对于更大的 BDP 来说,这个大小也应该更大. /proc/sys/net/core/rmem_max "110592" 定义接收窗口的最大大小:对于更大的 BDP 来说,这个大小也应该更大. /proc/sys/net/core/wmem

linux /proc/sys/vm/中各个文件含义

1)      /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作. 缺省设置:0,禁用Block Debug模式2)      /proc/sys/vm/dirty_background_ratio该文件表示脏数据到达系统整体内存的百分比,此时触发pdflush进程把脏数据写回磁盘. 缺省设置:103)      /proc/sys/vm/dirty_expire_centisecs该文件表示如果脏数据