典型的,提供大量静态文件访问的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
修改完之后,重启即可生效
分享到:
相关推荐
/proc/sys/fs/file-nr 当前kernel的句柄The value in file-max denotes the maximum number
设置Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别表示系统级别的能够打开的文件句柄的数量.是对整个系统的限制,并不是
在使用 file-max 命令时,需要注意软限制和硬限制的区别。软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只能将其软限制指定为 0~硬限制范围中的某个值,同时也可以不可逆转地降低其...
这可以通过查看`/proc/sys/fs/file-max`文件来完成,该文件显示了系统总的文件句柄数上限。如果这个值太小,需要在`/etc/sysctl.conf`文件中设置`fs.file-max`变量,然后重启系统使改动生效。例如,要将最大打开文件...
每个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中一切都是文件 默认linux一个进程可打开1024个文件 大并发需要达到5万个文件描述符FD,你必须修改该参数值才行
如果你不进行修改并发量上来的时候会出现“Too Many Open Files”的错误,导致整个HBase不可运行,你可以用ulimit -n 命令进行修改,或者修改/etc/security/limits.conf 和/proc/sys/fs/file-max的参数,具体如何...
这个表以数组形式管理,文件描述符(file descriptor)作为索引,将进程与它打开的文件关联起来。 系统级别的文件限制对所有用户有效,可以通过以下命令查看: 1. `cat /proc/sys/fs/file-max` 显示当前系统的最大...
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` 四、安装 ...
- `fs.file-max`: 最大打开文件描述符数量。 - `fs.aio-max-nr`: 最大异步I/O操作数。 - `net.ipv4.ip_local_port_range`: 可用本地端口范围。 - `net.core.rmem_default` 和 `net.core.rmem_max`: 接收缓冲区大小。...
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 ...
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简介 SonarQube是一款用于管理代码质量和进行持续检查的平台,能够帮助开发团队在软件开发周期中早期发现代码质量问题,并提供修复建议。...
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 ``` 使用以下命令...
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 ulimit 命令详解 #### 一、引言 `ulimit` 是一个在 Linux 和 Unix 系统中常用的命令行工具,用于控制和限制 shell 的资源使用量。通过 `ulimit`,用户可以对进程进行一系列资源限制,如最大文件大小、...
fs.file-max=65536 # 设置系统打开文件的最大数量 net.ipv4.ip_local_port_range=1024 65000 # 设置本地端口范围 #---------------------Endconfigureoracle10g----------------- ``` 通过上述设置,我们可以看到...
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 ...
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 ...