3

Linuxでは、メモリが不足している場合、mallocは必ずしもnullポインタを返すとは限りません。本当にメモリが不足している場合は、ポインタを取り戻し、OOMキラーにプロセスの実行を開始させることができます。同じことがC++の演算子newにも当てはまりますか、それともbad_alloc例外が発生しますか?

4

2 に答える 2

7

これは言語関数ではなくカーネル関数でありvm.overcommit_memoryvm.overcommit_ratiosysctl と で制御できます。

/proc/sys/vm/overcommit_memoryこれらは、およびの proc ファイルシステムに表示されます/proc/sys/vm/overcommit_ratio

于 2009-10-20T05:20:40.903 に答える
4

同じことが演算子newにも当てはまります、悲しいかな:^(

于 2009-10-20T04:59:45.317 に答える