私はLinuxカーネル2.6.38を使用していますが、4GBのメモリを割り当てるプロセスを実行しています。アプリケーションを実行すると、スワップ空間から。しかし、私のアプリケーションは非常に長い時間実行され、スワップ空間のデータに何度もアクセスします。 4 GBのRAMと、Linuxのスワップ領域メモリを解放しない
私は、Linux 2.6.38を実行しています:
(編集後) は私がやっているものを明確にします。
アプリケーションを実行していないと、システムは約500MBのRAMを占有しています。
4GBのメモリを割り当て、割り当てられたメモリをシークし、そのメモリの値を何度も変更する(10回の繰り返し)単純なアプリケーションを作成しました。
アプリケーションを実行するためにスワップスペースが必要であることは明らかです。
私のアプリケーションを実行すると、スワップ領域は累積し続け、数回の反復の後でいっぱいになり、プロセスは強制終了されます。
プロセスが終了すると、スワップ領域もいっぱいになります。
最近のカーネルでアプリケーションをテストしたところ、うまくいきました。スワップ領域は累積しません。
これはこのカーネルバージョン(2.6.38)のバグですか?それに修正がありますか?
あなたの質問は非常に不明ですが、おそらく、メモリを増やしたデバイスを使用し、一度にメモリを割り当て、スワップスペースを追加してください。あなたのプロセスは "swappiness"(https ://en.wikipedia.org/wiki/Swappiness) "、あなたのニーズに合わせて変更することができます。 – ti7