`
zhangxiong0301
  • 浏览: 359881 次
社区版块
存档分类
最新评论

file-max和ulimit对打开文件数量的限制区别

 
阅读更多

典型的,提供大量静态文件访问的web服务器,缓存服务器(如squid), 均要注意这个问题

 

网上的教程,大约只是简单说明了如何设置ulimit和file-max, 但并没有说清楚这两者之间的差别,让人一头雾水

 

1. file-max的含义

man proc,可得到file-max的描述:

/proc/sys/fs/file-max
              This  file defines a system-wide limit on the number of open files for all processes.  (See
              also setrlimit(2),  which  can  be  used  by  a  process  to  set  the  per-process  limit,
              RLIMIT_NOFILE,  on  the  number  of  files it may open.)  If you get lots of error messages
              about running out of file handles, try increasing this value:

即file-max是设置
 系统所有进程一共可以打开的文件数量 。同时一些程序可以通过setrlimit调用,设置每个进程的限制。如果得到大量使用完文件句柄的错误信息,是应该增加这个值。

 

也就是说,这项参数是系统级别的。

 

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

或修改 /etc/sysctl.conf, 加入

fs.file-max = 6553560 重启生效

 

2. ulimit的

Provides control over the resources available to the shell and to processes started by it, on systems that allow  such control.

 

即设置当前shell以及由它启动的进程的资源限制。

 

显然,对服务器来说,file-max, ulimit都需要设置,否则就可能出现文件描述符用尽的问题,为了让机器在重启之后仍然有效,强烈建立作以下配置,以确保file-max, ulimit的值正确无误:

 

1. 修改/etc/sysctl.conf, 加入

fs.file-max = 6553560

 

2.系统默认的ulimit对文件打开数量的限制是1024,修改/etc/security/limits.conf并加入以下配置,永久生效

* soft nofile 65535 
* hard nofile 65535

 

修改完之后,重启即可生效

分享到:
评论

相关推荐

    marmot-cn#readingNotes#设置linux打开文件句柄:proc:sys:fs:file-max和ulimit

    设置Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别表示系统级别的能够打开的文件句柄的数量.是对整个系统的限制,并不是

    linux系统级别的能够打开的文件句柄的数file-max命令.docx

    可以通过 /proc/sys/fs/file-max 文件来查看和设置系统级别的文件句柄数量限制。例如,使用 `cat /proc/sys/fs/file-max` 命令可以查看当前的文件句柄数量限制,而使用 `echo 100000 > /proc/sys/fs/file-max` 命令...

    Lancger#opslinux#file-max与ulimit的关系与差别1

    /proc/sys/fs/file-nr 当前kernel的句柄The value in file-max denotes the maximum number

    增加系统的最大打开文件数

    在调整文件限制时,通常建议将新的限制值设置为当前值的两倍,以确保有足够的余量应对未来需求的增长。例如,如果默认值是1024,那么首次提升可设为2048,再进一步提升时,则可设置为4096。 这些修改完成后,对于...

    3 种方法教你在 Linux 中修改打开文件数量限制.doc

    由于操作系统需要内存来管理这些句柄,因此对打开文件数量的限制是为了防止内存耗尽,确保系统的稳定性和安全性。 在CentOS 7这样的Linux环境中,系统默认设置了一个最大文件描述符(file descriptor)的数量,可以...

    linux打开文件数

    在Linux系统中,对文件的管理是其核心功能之一,其中“打开文件数”是一个重要的概念,涉及到系统资源管理和性能优化。本文将深入探讨Linux如何管理打开文件数,包括查看当前打开文件数的方法、理解系统限制以及如何...

    修改linux进程可打开的文件数的限制open files

    修改linux进程可打开的文件数的限制open files linux中一切都是文件 默认linux一个进程可打开1024个文件 大并发需要达到5万个文件描述符FD,你必须修改该参数值才行

    文件最大数修改

    例如,运行`echo "65535" > /proc/sys/fs/file-max`命令将全局文件打开数量限制设置为65535。 但这种方式的修改将在系统重启后失效。若希望永久修改,需编辑`/etc/sysctl.conf`文件,并添加`fs.file-max = 65535`。...

    Linux 下应用程序最大打开文件数的理解和修改.docx

    1. `cat /proc/sys/fs/file-max` 显示当前系统的最大文件限制。 2. `sysctl -a` 查找`fs.file-max`以查看配置的数量。 若需增加系统级限制,可以编辑`/etc/sysctl.conf`文件,添加或修改`fs.file-max`属性,然后...

    Linux报too many open files的解决方案

    为了解决这个问题,我们可以从两个方面入手:一是查看和调整当前会话的文件限制,二是修改系统级别的文件打开数限制。 首先,每个运行在Linux系统中的进程都有一个可以打开文件的最大数量限制。这个限制包括了文件...

    配置开发支持高并发TCP连接的Linux应用程序

    然而,在 Linux 平台上,无论编写客户端程序还是服务端程序,在进行高并发 TCP 连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制。 该限制是因为系统为每个 TCP 连接都要创建一个 ...

    centos下安装oracle,一个很重要配置文件

    fs.file-max=65536 # 设置系统打开文件的最大数量 net.ipv4.ip_local_port_range=1024 65000 # 设置本地端口范围 #---------------------Endconfigureoracle10g----------------- ``` 通过上述设置,我们可以看到...

    Linux下高并发socket最大连接数所受的各种限制

    因此,系统对用户进程可打开文件数量的限制直接影响了最大并发Socket连接数。默认情况下,这个限制通常是1024,可以通过`ulimit -n`命令查看。若要增加这个限制,可以使用`ulimit -n <number>`命令,但需要注意,这...

    linux ulimited命令

    通过 `ulimit`,用户可以对进程进行一系列资源限制,如最大文件大小、最大内存使用量等。这对于优化系统性能、防止资源滥用以及提高安全性等方面具有重要作用。 #### 二、ulimit 命令简介 `ulimit` 命令主要由以下...

    Too many open files 问题的解决.txt

    这个问题的根本在于操作系统对每个进程可打开的文件数量有限制,默认情况下,这个限制往往设置得较低(如1024),对于高负载、高并发的应用场景来说,很容易达到上限。 #### 核心概念解析 1. **文件句柄(File ...

    怎样让OPMN进程实现并发地打开多于1024个文件

    在`/etc/system`文件中,可以通过设置`rlim_fd_max`和`rlim_fd_cur`来改变进程可打开的最大文件描述符数量。 ```sh set rlim_fd_max = 2048 set rlim_fd_cur = 1536 ``` 其中`rlim_fd_max`代表了系统可以分配...

    oracle11g_R2安装手册

    - `fs.file-max`: 最大打开文件描述符数量。 - `fs.aio-max-nr`: 最大异步I/O操作数。 - `net.ipv4.ip_local_port_range`: 可用本地端口范围。 - `net.core.rmem_default` 和 `net.core.rmem_max`: 接收缓冲区大小。...

    php上传一个大的文件包文件包的大小有没有限制.zip

    例如,`ulimit -n`命令可以查看当前系统允许同时打开的文件数量,如果这个值太小,可能会在上传大文件时遇到问题。如果需要,可以通过修改`/etc/security/limits.conf`来增加这个限制。 对于处理大文件,PHP提供了...

    Linux内核调优

    然而,Linux系统默认对每个进程可打开的文件句柄数量进行了限制,这通常是基于安全性和资源管理的考虑。 #### 三、查看当前文件句柄限制 在Linux中,可以通过`ulimit -n`命令来查看当前用户的进程可打开文件句柄的...

Global site tag (gtag.js) - Google Analytics