默认的最大锁定内存值来自何处?

时间:2010-09-22 23:09:03

标签: apc ulimit

所以在一个系统上,我的值非常开放:

$ ulimit -a | grep mem
max locked memory       (kbytes, -l) 40000
max memory size         (kbytes, -m) unlimited
virtual memory          (kbytes, -v) unlimited

另一个系统有更多限制值,但我不能在我的生活中找到32MB上限(尽管错误拼写是32MB)的位置:

# ulimit -a | grep mem
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
virtual memory          (kbytes, -v) unlimited

第二个系统是RHEL 5.5盒子。我希望至少为一个用户增加这个限制 - 我需要更大的APC mmap内存分配,但是如果没有达到上述限制,我不能超过30 MB,我宁愿不破解提供的apache init脚本。我应该在哪里尝试覆盖系统默认值,以便我可以映射更大的内存段?在apache用户的limits.conf中执行它并没有做很多事情;可能是因为init脚本没有通过PAM做任何事情。

1 个答案:

答案 0 :(得分:0)

如果您尝试的用户粒度设置不起作用,则应确保您已正确匹配哪个用户达到了限制。

您还应该能够将这样的行添加到limits.conf:

* hard memlock 40000

这将改变所有用户的默认设置。

来自limits.conf联机帮助页:

The syntax of the lines is as follows:

<domain> <type> <item> <value>

The fields listed above should be filled as follows:

<domain>

[snip]
·   the wildcard *, for default entry.