首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不设软限制申请[ulimit]

不设软限制申请[ulimit]
EN

Unix & Linux用户
提问于 2020-05-18 15:16:27
回答 1查看 1.6K关注 0票数 1

我试图增加一个应用程序的最大打开文件,但我的尝试失败了。硬限制正在适当设置,但软限制保持为默认的1024。

/etc/init.d/[application]下,在start()函数下,在执行其他命令之前,我有这两行代码:

代码语言:javascript
复制
ulimit -Sn 64512 2> /dev/null
ulimit -Hn 80896 2> /dev/null

但是当我检查/proc/[pid]/limits下的极限时,硬极限是80896,软极限是1024。

由于应用程序是以根用户身份运行的,所以我在/etc/security/limits.d/下添加了一个新的D3文件,其中包含以下条目:

代码语言:javascript
复制
root    soft    nofile    64512
root    hard    nofile    80896

/proc/[pid]/limits没有变化。

How我是否为特定的应用程序永久设置了最大打开的文件限制?

我正在用RHEL 6.10测试

EN

回答 1

Unix & Linux用户

发布于 2020-05-18 15:56:48

在阅读了user vs. of ulimit (这里)和@binarysta注释的一些参数,并一遍又一遍地阅读了ulimit页面之后,我意识到我的init.d方法会起作用,但我的顺序是错误的。硬限制是用户可以增加自己的软限制的绝对最大值,因此,如果在执行时设置的软限制大于硬限制,则首先忽略设置软限制。

因此,没有这样做:

代码语言:javascript
复制
root    soft    nofile    64512
root    hard    nofile    80896

你必须这样做:

代码语言:javascript
复制
root    hard    nofile    80896
root    soft    nofile    64512

再一次证明,秩序很重要。

因此,/etc/init.d/[application]

代码语言:javascript
复制
start() {
ulimit -Hn 80896 2> /dev/null
ulimit -Sn 64512 2> /dev/null
[rest of start function]
}

restart() {
# only if restart() function does not call start()
ulimit -Hn 80896 2> /dev/null
ulimit -Sn 64512 2> /dev/null
[rest of restart function]
}

如果其他人遇到同样的问题,请不要回答这个问题。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/587465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档