0

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

$ 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 脚本。我应该在哪里尝试覆盖系统默认值,以便可以映射更大的内存段?在limits.conf 中为apache 用户做这件事并没有做很多事情。可能是因为初始化脚本没有通过 PAM 做任何事情。

4

1 回答 1

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.
于 2011-02-18T19:43:21.890 回答