如何在Debian Stretch中为普通用户永久更改打开文件(ulimit -n)?

时间:2017-09-27 07:11:55

标签: debian ulimit

我想永久更改系统打开文件设置,但它不起作用。

我的登录用户是普通用户,而不是/etc/sysctl.conf。我做了以下操作:

档案 $ grep 'fs.file-max' /etc/sysctl.conf fs.file-max = 800000

/etc/security/limits.conf

档案 $ grep nofile /etc/security/limits.conf # - nofile - max number of open files * soft nofile 655360 * hard nofile 655360

/etc/security/limits.conf

设置session required pam_limits.so 可以在CentOS / OpenSUSE上运行,但它在Debian中不起作用。

添加

/etc/pam.d/common-session{,-noninteractive}

到文件/etc/pam.d/login,文件/lib/x86_64-linux-gnu/security/pam_limits.so 已经拥有它。绝对路径是

ulimit -n

重新启动后,执行$ ulimit -n 1024 ,输出仍为默认值 1024

class Blog
{
    public int BlogId { get; set; }
    public string Name { get; set; }

    public List<Post> Posts { get; set; }

    public Blog()
    {
        Posts = new List<Post>();
    }
}

我该怎么做才能生效?

1 个答案:

答案 0 :(得分:1)

它在Debian中不是问题。 这是systemd + gnome中的一个问题。 systemd选择不读取或使用limits.conf,选择gdm让systemd设置它的限制。 ssh sudo su tty将照常使用/etc/seecurity/limits.conf。 在Fedora中查看此错误systmd --user does not load limits from /etc/security/limits.d/ 。在讨论中,这个解决方案适合我。

创建文件/etc/systemd/system/user@1000.service.d/limit.conf,将 1000 替换为userId,在systemd服务中设置此文件中的限制:

[Service]
LimitNOFILE=655360