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

2番目のシステムはRHEL5.5ボックスです。少なくとも1人のユーザーに対してこの制限を増やすことを検討しています。より大きなAPCmmapメモリ割り当てが必要ですが、上記の制限に達することなく30 MBを超えることはできず、提供されているapacheinitスクリプトをハックしたくありません。より大きなメモリセグメントをマッピングできるように、システムのデフォルト値をどこで上書きしようとすればよいですか?apacheユーザーのlimits.confでそれを行うことは、それほど多くのことをしません。おそらく、initスクリプトが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 に答える