プロセスの仮想メモリサイズを増やすと問題が発生しますか?

プロセスの仮想メモリサイズを増やすと問題が発生しますか?

多くのメモリを使用し、メモリを頻繁に割り当てて解放する長期実行プロセスがあります。

常駐メモリサイズ(topコマンドのRES)は15〜20 GBです。ただし、仮想メモリサイズ(VIRT on topコマンド)は10〜20 GBから100 GB以上に増え続けます。

プログラムはクラッシュしませんが、(1)VIRTサイズが大きくなる理由を知りたいです。 (2) プログラムに問題が生じますか?

答え1

(1)VIRTサイズが大きくなるのはなぜですか?

これは、メモリの断片化および/またはメモリリークによって引き起こされる可能性があります。つまり、一部のメモリ領域は決して解放されないことがあります。

(2) プログラムに問題が生じますか?

増加が止まらないと、最終的に仮想メモリが使い果たされ、プログラムが中断する可能性があります。メモリを過度に使用しないオペレーティングシステムを使用すると、これらの現象がより早く発生します。

関連情報