`
月影无痕
  • 浏览: 1009637 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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


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


分享到:
评论

相关推荐

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

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

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

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

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

    在使用 file-max 命令时,需要注意软限制和硬限制的区别。软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只能将其软限制指定为 0~硬限制范围中的某个值,同时也可以不可逆转地降低其...

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

    这可以通过查看`/proc/sys/fs/file-max`文件来完成,该文件显示了系统总的文件句柄数上限。如果这个值太小,需要在`/etc/sysctl.conf`文件中设置`fs.file-max`变量,然后重启系统使改动生效。例如,要将最大打开文件...

    Linux报too many open files的解决方案

    每个Linux系统还有一个系统级别的文件打开数限制,这个限制通常由`/proc/sys/fs/file-max`文件设定。这个文件记录了系统级别允许的最大文件打开数量。通过查看这个文件的内容,我们可以看到当前系统的上限是多少。...

    文件最大数修改

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

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

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

    Hadoop集群(第12期副刊)_Hbase性能优化

    如果你不进行修改并发量上来的时候会出现“Too Many Open Files”的错误,导致整个HBase不可运行,你可以用ulimit -n 命令进行修改,或者修改/etc/security/limits.conf 和/proc/sys/fs/file-max的参数,具体如何...

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

    这个表以数组形式管理,文件描述符(file descriptor)作为索引,将进程与它打开的文件关联起来。 系统级别的文件限制对所有用户有效,可以通过以下命令查看: 1. `cat /proc/sys/fs/file-max` 显示当前系统的最大...

    oracle安装.docx

    fs.file-max = 6815744 fs.aio-max-nr = 1048576 ``` 并修改以下两行: ```bash net.core.wmem_max = 1048576 net.ipv4.ip_local_port_range = 9000 65500 ``` 然后执行以下命令:`/sbin/sysctl -p` 四、安装 ...

    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`: 接收缓冲区大小。...

    linux下安装oracle

    fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 ...

    centos6.6 Oracle11G安装文档

    fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 ...

    SonarQube的安装和配置以及与Jenkins和gitlab的集成

    ### SonarQube的安装与配置及与Jenkins和GitLab的集成 #### 一、SonarQube简介 SonarQube是一款用于管理代码质量和进行持续检查的平台,能够帮助开发团队在软件开发周期中早期发现代码质量问题,并提供修复建议。...

    ORACLE-rac安装后总结.docx

    fs.file-max = 101365 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 ``` 使用以下命令...

    Linux下安装oracle11g服务器

    fs.file-max=6815744 fs.aio-max-nr=1048576 kernel.shmall=2097152 kernel.shmmax=2147483648 kernel.shmmni=4096 kernel.sem=25032000100128 net.ipv4.ip_local_port_range=900065500 ...

    linux ulimited命令

    ### Linux ulimit 命令详解 #### 一、引言 `ulimit` 是一个在 Linux 和 Unix 系统中常用的命令行工具,用于控制和限制 shell 的资源使用量。通过 `ulimit`,用户可以对进程进行一系列资源限制,如最大文件大小、...

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

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

    linux下安装asm的oracle11g

    fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 ...

    linux6.9安装oracle11g

    fs.file-max=6815744 net.ipv4.ip_local_port_range=9000 65500 net.core.rmem_default=4194304 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048576 fs.aio-max-nr=1048576 ...

Global site tag (gtag.js) - Google Analytics