-1

a を実行してtopスワップの使用状況を表示すると、次の出力が得られます。ただし、swapoff -aFirefox を起動する前にスワップを無効にしました。SWAPでは、ここのフィールドには何が表示されますか? するとcat /proc/meminfo、 という名前のフィールドにゼロ以外の値が返されSwapCachedます。これは何ですか?SWAP私の推測では、これは に示されているすべての値の集計ですtop。これらは、プロセスによって使用される合計メモリにどのように関連していますか?

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  SWAP 
    COMMAND                                                                                                                                      
         1604 dumrat    20   0  287m  62m  26m R    1  3.1   0:05.03 225m firefox-bin                                                                                                                                  
         1415 dumrat     9 -11 94264 4668 3552 S    0  0.2   0:00.10  87m pulseaudio 
4

1 に答える 1

1

の最善の推測はこれです。

と言うとswapoff、タスクがさらに「スワッピング」するのを防ぎます (技術的には、スワッピングではなくページングです) が、既にスワップされたページをスワップ デバイスから削除しません。多くの場合、さまざまな共有ライブラリがロードの瞬間にスワップされます。負荷が高いときにそれらをスワップするのに時間を無駄にする意味はありません。これらのライブラリは、アクティブなプロセスで必要とされる限り RAM に置かれますが、スワップ スペースにも置かれます。

Firefox は、Xlib、GTK など、既にスワップ空間にマップされているこれらのライブラリのいくつかを使用している可能性があります。このスワップ空間は、「SWAP」列に反しています。Linux は、RAM を共有するかどうかに関係なく、すべての共有ページを共有する各プロセスにカウントする傾向があります。

繰り返しますが、これは私の推測です。一粒の塩で服用してください。

于 2010-12-18T13:47:07.393 に答える