Answers:
贾斯汀的答案告诉您如何增加整个系统可用的打开文件总数。但是我认为您在问如何在全球范围内提高每个用户的限制。答案是将以下行添加到/etc/security/limits.conf
:
* soft nofile 2048
* hard nofile 2048
(其中*表示所有用户。)
该文件本身和中都有一些摘要文档man limits.conf
。这是通过pam_limits.so
针对中配置的各种服务调用的模块来实现的/etc/pam.d/
。
而且,我不得不承认,我不知道 1024默认值是从哪里来的。相信我,我看着。我什至尝试不配置pam_limits模块,它仍然存在。它必须在某个地方进行硬编码,但是我不确定在哪里。
根据Linux增加最大打开文件数/文件描述符(FD)的文章,您可以通过向添加一个条目来增加打开文件的限制/etc/sysctl.conf
。
附加如下的配置指令:
fs.file-max = 100000
然后保存并关闭文件。用户需要注销然后重新登录以使更改生效,或者他们可以键入以下命令:
# sysctl -p
您还可以使用以下命令验证设置:
# cat /proc/sys/fs/file-max
增加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
但是,如果您想增加像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/
并对该文件进行更改,而不是对该软件包提供的系统范围的服务文件进行更改。
补充:
您可能会在其他地方找到配置: /etc/security/limits.d/*.conf
我不得不修改它。没有它就行不通。格式与相同limits.conf