我有两台具有几乎相同规格的CentOS 5服务器。当我登录并执行操作时ulimit -u
,在一台计算机上我会收到unlimited
,而在另一台计算机上我会得到77824
。
当我像这样运行cron时:
* * * * * ulimit -u > ulimit.txt
我得到相同的结果(unlimited
,77824
)。
我正在尝试确定这些位置,以便我可以对其进行更改。他们不是在我的任何配置文件(设置.bashrc
,/etc/profile
等等)。这些都不会影响cron),也不会影响in /etc/security/limits.conf
(它是空的)。
我已经搜寻过Google,甚至还可以做grep -Ir 77824 /
,但到目前为止没有任何进展。我不明白这些机器如何预先设置不同的限制。
我实际上不是在为这些机器而不是在为另一台(CentOS 6)机器而感到奇怪,该机器的极限值1024
太小了。我需要以更高的限制运行cron作业,而我知道如何设置cron作业本身的唯一方法。没关系,但是我宁愿将其设置为系统范围内的,所以它也不那么笨拙。
谢谢你的帮助。这似乎应该很容易(不)。
编辑-解决
好的,我知道了。CentOS 6或我的机器配置似乎都存在问题。在CentOS 5的配置中,我可以设置为/etc/security/limits.conf
:
* - nproc unlimited
这将有效地更新帐户和cron限制。但是,这在我的CentOS 6盒中不起作用。相反,我必须这样做:
myname1 - nproc unlimited
myname2 - nproc unlimited
...
事情按预期进行。也许UID规范可以使用,但是通配符(*)绝对不在此处。奇怪的是,通配符确实可以发挥作用nofile
。
我仍然很想知道默认值的实际来源,因为默认情况下此文件为空,而且我看不到为什么两个CentOS盒具有不同的默认值,它们具有相同的硬件并且来自同一提供商。
/etc/security/limits.d/
吗?