Linux では、rss の正式名は「常駐セット サイズ」です。これは常駐メモリ セットを指し、RAM 内の対応するプロセスによって占有される実際の物理メモリ サイズを示します。仮想メモリは含まれません。 SWAPに占領されています。 RSS には、スワップ パーティションに入るメモリは含まれませんが、共有ライブラリによって占有されるメモリは含まれます (共有ライブラリがメモリ内にある限り)。
#このチュートリアルの動作環境: CentOS 6 システム、Dell G3 コンピューター。
Linux のメモリ管理では、top コマンドであっても ps コマンドであっても、RSS と VSZ という 2 つの用語があります。例:
[root@localhost ~]# ps aux #查看系统中所有的进程 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 2872 1416 ? Ss Jun04 0:02 /sbin/init root 2 0.0 0.0 0 0 ? S Jun04 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Jun04 0:00 [migration/0] root 4 0.0 0.0 0 0 ? S Jun04 0:00 [ksoftirqd/0] …省略部分输出…
ここでは、RSS と VSZ について学習します。
linux RSS
RSS は常駐セット サイズ (Resident Set Size) で、RAM 内の対応するプロセスによって占有される実際の物理メモリ サイズを示します。これには含まれません。 in SWAP で占有されている仮想メモリ。スタックとヒープ内の完全なメモリを含め、共有ライブラリを使用するメモリ内のメモリ サイズも計算に含まれます。
RSS には、スワップ パーティションに入るメモリは含まれません。
RSS には、共有ライブラリによって占有されているメモリが含まれます (共有ライブラリがメモリ内にある限り)
RSS には、割り当てられたすべてのスタック メモリが含まれますそしてヒープメモリ。
linux VSZ
VSZ (仮想メモリ サイズ)、仮想メモリ サイズを示し、プロセスがアクセスできるすべてのメモリを示します。スワップメモリと共有ライブラリメモリ。
VSZ には、スワップ パーティションに入るメモリや共有ライブラリによって占有されるメモリなど、プロセスがアクセスできるすべてのメモリが含まれます。
例:
プロセス A のバイナリ ファイル サイズが 500KB で、2500KB の共有ライブラリにリンクされ、スタック/ヒープ サイズがある場合200KB のうち、さらに 100KB がメモリ内にあり、100KB が SWAP スペースにあり、1000KB の共有ライブラリと 400KB の独自のバイナリがロードされます。次に、
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 コマンドを使用して、この情報を確認できます。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinuxのRSSとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。