尝试增加 ubuntu 上的文件描述符

尝试增加 ubuntu 上的文件描述符

您好,我正在尝试增加运行 Ubuntu 14.04 的虚拟专用服务器上的文件描述符。

我目前所做的:

1) 在 sysctl.conf 中提高了 fs.file-max

2)在/etc/pam.d/common-session 和 /etc/pam.d/common-session-noninteractive 中添加以下行:

session required pam_limits.so

3)在/etc/security/limits.conf中添加以下行:

* hard nofile 30000
* soft nofile 30000
root hard nofile 30000
root soft nofile 30000

不幸的是,即使重新启动后,我仍然得到与以前相同的值:

root@vps1:~# ulimit -Sn
1024
root@vps1:~# ulimit -Hn
4096
root@vps1:~# ulimit -n
1024

我查看了 /var/log/dmesg 和 /var/log/kern.log,但什么也没找到。但在 systemd-logind.log 中我发现了以下内容:

/proc/self/fd/9: 4: ulimit: error setting limit (Invalid argument)
Watching system buttons on /dev/input/event0 (Power Button)
New seat seat0.
/proc/self/fd/9: 4: ulimit: error setting limit (Invalid argument)
Watching system buttons on /dev/input/event0 (Power Button)
New seat seat0.
/proc/self/fd/9: 4: ulimit: error setting limit (Invalid argument)
Watching system buttons on /dev/input/event0 (Power Button)
New seat seat0.

pid=9 的进程似乎是“rcuos”:

root@vps1:~# ps -aux | grep rcuos
root         9  0.2  0.0      0     0 ?        S    03:55   0:32 [rcuos/0]
root        18  0.1  0.0      0     0 ?        S    03:55   0:20 [rcuos/1]
root      4525  0.0  0.0   8872   944 pts/0    S+   07:54   0:00 grep --color=auto rcuos

下一步该尝试什么?

答案1

这次更改+重启修复了我们的systemd-logind

在文件中:

/etc/init/systemd-logind.conf

改变这个:

    ulimit -S -n 16384 || true
    ulimit -H -n 16384 || true

更改为:

    ulimit -n 16384

答案2

问题与在 /etc/ssh/sshd_config 中禁用 PAM 有关:

UsePAM no

允许 PAM 后,一切正常。为了禁用密码并增加文件描述符限制,我现在使用:

PermitEmptyPasswords no
PasswordAuthentication no
UsePAM yes

这解决了问题!

相关内容