0

.Textメモリからページアウトされる回数の割合を考え出そうとしています。

私の知る限り、大量のメモリがあると仮定すると、これはそれほど頻繁ではありません。

それについてのデータを共有できますか?

システムコールが役立つかもしれませんmlockall(私の経験ではそうではありませんが)?

4

1 に答える 1

1

ページングのアルゴリズムは多数のパラメータに基づいており、オペレーティング システム固有です。たとえば Linux では、これに影響を与える swapiness というパラメーターがあります。

一般に、ページは、最近使用されていない順に RAM から削除されます。スワップ スペースが構成されていない場合、.text ページは RAM から削除される可能性が高くなります。これは、データ ページがダーティである可能性が高く、データ ページを書き込むことができないためです (書き込む場所がないため)。

これを分析したい場合は、次のような実験を試すことができます。

プログラムを 1 つのディスクに置き、データを別のディスクに置きます。いかなる場合でも、最初のディスクにはコード以外のものを置かないでください。次に、問題の負荷の下でシステムを実行します。

sar などのユーティリティを使用して、作業を進めながらディスク上の IO データを収集します。プログラムを 1 回だけロードした場合、その最初のディスクの IO は、テキスト ページに関して行われたページングの量にかなり近くなるはずです。

それを他のディスクのデータ IO と比較すると、おおよその答えが得られます。もちろん、数値は負荷とカーネルのパラメーターによって大きく異なります。

于 2012-11-12T20:08:45.370 に答える