多くのメモリを使用し、メモリを頻繁に割り当てて解放する長期実行プロセスがあります。
常駐メモリサイズ(topコマンドのRES)は15〜20 GBです。ただし、仮想メモリサイズ(VIRT on topコマンド)は10〜20 GBから100 GB以上に増え続けます。
プログラムはクラッシュしませんが、(1)VIRTサイズが大きくなる理由を知りたいです。 (2) プログラムに問題が生じますか?
答え1
(1)VIRTサイズが大きくなるのはなぜですか?
これは、メモリの断片化および/またはメモリリークによって引き起こされる可能性があります。つまり、一部のメモリ領域は決して解放されないことがあります。
(2) プログラムに問題が生じますか?
増加が止まらないと、最終的に仮想メモリが使い果たされ、プログラムが中断する可能性があります。メモリを過度に使用しないオペレーティングシステムを使用すると、これらの現象がより早く発生します。