确定 root 用户的 ulimit

and*_*bd1 8 linux ulimit solr

我们相信我们已经增加了 root 用户的最大打开文件描述符。这是通过将此行添加到 /etc/security/limits.conf 来完成的:

*         -    nofile            2048
Run Code Online (Sandbox Code Playgroud)

我们认为我们已经确认增加了 root 用户的限制,因为我们可以告诉(这里没有描述)我们的应用程序(solr - 由 root 运行)打开了 1098 个文件。但是,我们无法确定允许 root 用户打开多少个文件。我们希望这个命令可以工作,但它似乎不是:

$ sudo -u root -s "ulimit -Sn"
1024
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢!

Mar*_* M. 6

获取solr正在运行的进程的 PID,然后cat /proc/$SOLR_PID/limits——这将告诉您进程的实际限制。

我建议以solr单独的非特权用户身份运行。执行此操作时,您有多个选项(limits.conf或将 a 添加ulimit -n 2048到 init 脚本,...)。最后一个不是那么闪亮,但适用于快速设置和重新启动守护程序

RANT:别告诉我你不能重启因为你会失去服务。如果是这种情况,您无论如何都应该设置 HA :)


qua*_*nta 5

更改打开文件的数量后/etc/security/limits.conf,用户必须注销并重新登录才能生效。所以,试试这个:

$ sudo su -
# ulimit -Sn
Run Code Online (Sandbox Code Playgroud)