仮想メモリについてのドキュメントを読んだところ、Linux VM で調整可能なパラメーターを変更する方法の 1 つは、次のコマンドであることがわかりました。
sysctl -w vm.max_map_count=65535
数値 65535 の意味と、設定によって vm が使用できるメモリ量を知りたいです。
仮想メモリについてのドキュメントを読んだところ、Linux VM で調整可能なパラメーターを変更する方法の 1 つは、次のコマンドであることがわかりました。
sysctl -w vm.max_map_count=65535
数値 65535 の意味と、設定によって vm が使用できるメモリ量を知りたいです。
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