70

仮想メモリについてのドキュメントを読んだところ、Linux VM で調整可能なパラメーターを変更する方法の 1 つは、次のコマンドであることがわかりました。

sysctl -w vm.max_map_count=65535

数値 65535 の意味と、設定によって vm が使用できるメモリ量を知りたいです。

4

3 に答える 3

108

Linuxカーネルのドキュメントから:

max_map_count:

このファイルには、プロセスが持つことができるメモリ マップ領域の最大数が含まれています。メモリ マップ領域は、malloc の呼び出しの副作用として、mmap および mprotect によって直接使用されます。また、共有ライブラリをロードするときにも使用されます。

ほとんどのアプリケーションで必要なマップは 1,000 未満ですが、特定のプログラム、特に malloc デバッガーは、割り当てごとに最大 1 つまたは 2 つのマップなど、大量のマップを消費する場合があります。

デフォルト値は 65536 です。

結論: この設定は、個別にマップされたメモリー領域の数を制限します。それ自体では、それらの領域のサイズやプロセスが使用できるメモリーに制限を課しません。

そして、はい、これ:

sysctl -w vm.max_map_count=65535

これを書くためのより良い方法です:

echo 65535 > /proc/sys/vm/max_map_count
于 2012-07-27T09:37:21.750 に答える