无法增加 ulimit -Hn,仅在 sudo su 会话中显示

无法增加 ulimit -Hn,仅在 sudo su 会话中显示

所以我试图改变 Ubuntu18.04 笔记本电脑上文件描述符的硬限制。我已经尝试了一切,但更改仍然没有生效。

我需要运行一个不断抛出此错误的 go 程序。too many open files

所以我/etc/security/limits.conf根据这篇博客文章对我的文件做了一些更改https://medium.com/@muhammadtriwibowo/set-permanently-ulimit-n-open-files-in-ubuntu-4d61064429a

这些是内容limits.conf

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

我还更改了 /etc/pam.d/common-session 以添加 session required pam_limits.so 行

我重新启动了终端,ulimit -Hn仍然显示 4096,但是当我执行 sudo su 并运行相同的命令时,它给了我 65535

但是由于我没有在 su 会话内运行我的 go 程序,它仍然对我不起作用,我需要将我的实际硬限制更改为所有用户的更高值,而不仅仅是超级用户

我究竟做错了什么?

答案1

你们非常接近。

添加需要这些值的用户名。您刚刚为 root 设置了限制,现在为您需要的用户设置它。

您可以添加用户组等。从 Redhat 站点:

        # vi /etc/security/limits.conf
    #<domain>        <type>  <item>  <value>

    *               -       core             <value>
    *               -       data             <value>
    *               -       priority         <value>
    *               -       fsize            <value>
    *               soft    sigpending       <value> eg:57344
    *               hard    sigpending       <value> eg:57444
    *               -       memlock          <value>
    *               -       nofile           <value> eg:1024
    *               -       msgqueue         <value> eg:819200
    *               -       locks            <value>
    *               soft    core             <value>
    *               hard    nofile           <value>
    @<group>        hard    nproc            <value>
    <user>          soft    nproc            <value>
    %<group>        hard    nproc            <value>
    <user>          hard    nproc            <value>
    @<group>        -       maxlogins        <value>
    <user>          hard    cpu              <value>
    <user>          soft    cpu              <value>
    <user>          hard    locks            <value>

<domain> can be:

a user name
a group name, with @group syntax
the wildcard *, for default entry
the wildcard %, can be also used with %group syntax, for maxlogin limit

在 limit.conf 中设置用户,注销并重新登录,看看是否有帮助。

joe soft     nproc          65535    
joe hard     nproc          65535   
joe soft     nofile         65535   
joe hard     nofile         65535

相关内容