Mallocとページ付け

Mallocとページ付け

ユーザープロセスがmalloc(n)を呼び出すときにプロセスに割り当てられた物理ページはありますか?私はそうではないと信じています。なぜなら、 malloc はヒープから割り当てるからです。そうですか?

答え1

Linuxでは、あなたの質問に対する短い答えは、「物理ページは通常割り当てられていません」と思います。これは…不利だ」メモリ過剰割り当て「あなたは見つけることができますトーン~の文書上。 Unix バリアントには、malloc の間の物理的な物理ページの割り当てに関するさまざまな戦略があります。 4BSDベースのシステムは伝統的に乱用されておらず、chillプログラムと組み合わせると(参照が見つかりません)、無限の楽しみがあります。chillできるだけ多くのメモリを割り当てて予約してください。 SunOS(4.2BSDベース)は常に何でも物理ページを割り当てるため、malloc()あるユーザーがすべてのRAMを割り当て、他のユーザーが無限にページングできるようにすることができます。

Linuxの場合は、システムポリシーが何であるかを確認できます。cat /proc/sys/vm/overcommit_memory「0」、「1」、または「2」を指定する必要があります。これは、それぞれ「経験的オーバーコミット」、「常にオーバーコミット」、および「オーバーコミットしない」を意味します。

関連情報