Linux の RSS は常駐メモリ セットを意味し、英語の正式名は「Resident Set Siz」で、プロセスによって割り当てられるメモリ サイズを示します。RSS には、スワップ パーティションに入るメモリ (メモリを含む) は含まれません。共有ライブラリによって占有されるメモリには、割り当てられたすべてのスタック メモリとヒープ メモリも含まれます。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
Linux における RSS とは何ですか?
Linux メモリ管理における RSS と VSZ の意味
RSS は常駐セット サイズ (Resident Set Size) で、プロセスによって割り当てられるメモリ サイズを示します。
RSS には、スワップ パーティションに入るメモリは含まれません。
RSS には、共有ライブラリによって占有されているメモリが含まれます (共有ライブラリがメモリ内にある限り)
RSS には、割り当てられたすべてのスタック メモリとヒープ メモリが含まれます。
VSZ は、プロセスによって割り当てられた仮想メモリを表します。
VSZ には、スワップ パーティションに入るメモリや共有ライブラリによって占有されるメモリなど、プロセスがアクセスできるすべてのメモリが含まれます。
プロセスのプログラム サイズが 500K、リンクされた共有ライブラリのサイズが 2500K、合計スタック メモリが 200K で、そのうち 100K がスワップ パーティションに入る場合。
このプロセスでは、実際には共有ライブラリに 1000K コンテンツがロードされ、独自のプログラムに 400K コンテンツがロードされます。 RSS と VSZ はどうあるべきですか?
RSS: 400K + 1000K + 100K = 1500K VSZ: 500K + 2500K + 200K = 3200K
RSS の一部は共有ライブラリから取得され、共有ライブラリは多くのプロセスで使用される可能性があるため、すべてのプロセスの RSS を合計すると、システム メモリよりも大きくなる可能性があります。
新しいパラメータ PSS (比例セット サイズ) があり、RSS とは異なる方法で共有メモリを計算します。前の例を参照すると、同じ共有ライブラリを使用する 2 つのプロセスがある場合、次のようになります。
PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K
スレッドは同じアドレス空間を共有するため、プロセス内のすべてのスレッドは同じ RSS、VSZ、および PSS を持ちます。 ps または top コマンドを使用して、この情報を確認できます。
There is way more to it than this, to learn more check the following references:
推奨される学習: 「Linux ビデオ チュートリアル 」
以上がLinux における RSS の意味の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。