Linux の仮想記憶システムはそれほど単純ではありません。すべての RSS フィールドを合計して、報告された値 used を取得することはできません。 free まで .これには多くの理由がありますが、最大のものをいくつか取り上げます。
-
プロセスがフォークすると、親と子の両方が同じ RSS で表示されます。ただし、Linux はコピー オン ライトを採用しているため、両方のプロセスが実際には同じメモリを使用しています。プロセスの 1 つがメモリを変更した場合にのみ、メモリが実際に複製されます。
これにより、freeが発生します。topよりも小さい数値 RSS 合計。 -
RSS 値には共有メモリは含まれません。共有メモリはどのプロセスにも所有されていないため、
topRSS には含まれません。
これにより、freeが発生します。topより大きい数 RSS 合計。