如何增加所有进程的打开文件数限制?


32

我可以使用ulimit,但是我认为这只会影响我的shell会话。我希望增加所有进程的限制。这是在Red Hat上。


顺便说一下,哪个版本的Red Hat?RHEL5?
mattdm 2011年

Answers:


26

贾斯汀的答案告诉您如何增加整个系统可用的打开文件总数。但是我认为您在问如何在全球范围内提高每个用户的限制。答案是将以下行添加到/etc/security/limits.conf

*               soft    nofile            2048
*               hard    nofile            2048

(其中*表示所有用户。)

该文件本身和中都有一些摘要文档man limits.conf。这是通过pam_limits.so针对中配置的各种服务调用的模块来实现的/etc/pam.d/

而且,我不得不承认,我不知道 1024默认值是从哪里来的。相信我,我看着。我什至尝试不配置pam_limits模块,它仍然存在。它必须在某个地方进行硬编码,但是我不确定在哪里。


2
嗯...我设置正确。退出SSH并重新输入,我的软限制仍然设置为1024。我缺少使该“活动”的东西吗?谢谢。
2015年

@mattdm-值得一提的是,在某些Linux发行版中,提到的文件位于以下位置:/etc/limits.conf
Guy Avraham

13

根据Linux增加最大打开文件数/文件描述符(FD)的文章,您可以通过向添加一个条目来增加打开文件的限制/etc/sysctl.conf

附加如下的配置指令:

fs.file-max = 100000

然后保存并关闭文件。用户需要注销然后重新登录以使更改生效,或者他们可以键入以下命令:

# sysctl -p

您还可以使用以下命令验证设置:

# cat /proc/sys/fs/file-max

我对于是否需要注销然后再次登录此特定设置(在系统范围内)表示怀疑。(这几乎
涵盖

13

增加Linux中ulimit打开文件的最大数量

1.Step:打开sysctl.conf 并添加此行 fs.file-max = 65536

$ vi /etc/sysctl.conf

添加新行并

fs.file-max = 65536

保存并退出。

2.步骤:

$ vi /etc/security/limits.conf

并添加下面提到的

* soft     nproc          65535
* hard     nproc          65535
* soft     nofile         65535
* hard     nofile         65535

保存并退出检查最大打开文件 ulimit

# ulimit -a

....
open files                      (-n) 65535

6

但是,如果您想增加像MariaDB这样的服务或其他东西(使用systemd)的打开文件的最大数量,则必须直接在文件.service中进行。

/lib/systemd/system/<servicename>.service

将是这样的:

[Unit]
Description=Some Daemon
After=syslog.target network.target

[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon

[Install]
WantedBy=multi-user.target

完整的答案就在这里:为CentOS 7上的systemd启动的进程增加nproc


由于systemd在Linux生态系统中无处不在及其不断变化的情况越来越普遍,因此需要对此予以支持。虽然,我建议编辑答案cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/并对该文件进行更改,而不是对该软件包提供的系统范围的服务文件进行更改。
ILMostro_7 '18

3

补充:

您可能会在其他地方找到配置: /etc/security/limits.d/*.conf

我不得不修改它。没有它就行不通。格式与相同limits.conf


我还必须更新此文件以使设置完全适用于我们的CentOS服务器。
John Eisbrener
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.