【问题标题】:Where is the default max locked memory value coming from?默认的最大锁定内存值来自哪里?
【发布时间】:2010-09-22 23:09:03
【问题描述】:

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

$ 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 中执行此操作并没有多大作用;可能是因为初始化脚本没有通过 PAM 做任何事情。

【问题讨论】:

    标签: apc ulimit


    【解决方案1】:

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

    您还应该能够在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.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多