存在するマンページtop
、
USEDとVIRTの違いは何ですか? USEDは「RES」+「SWAP」です。 「VIRT - USED」はマップされているが未使用のページと同じですか?
「VIRT」または「USED」にはカーネル空間で使用されるサイズが含まれていますか?
「RES」には「CODE」と「DATA」が含まれていますか?
「PGMS」とは何ですか?
ありがとうございます。
これらのプロセスごとに、各メモリページは下の表の象限に制限されています。物理メモリと仮想
メモリの両方にこれら4種類のメモリのいずれかを含めることができますが、スワップファイルには#1から#3までしか含まれません。変更すると、象限#4のメモリは独自のプライベートスワップファイルとして機能します。Private | Shared 1 | 2 Anonymous . stack | . malloc() | . brk()/sbrk() | . POSIX shm* . mmap(PRIVATE, ANON) | . mmap(SHARED, ANON) -----------------------+---------------------- . mmap(PRIVATE, fd) | . mmap(SHARED, fd) File-backed . pgms/shared libs | 3 | 4
以下は、拡張可能な列で表されるプロセスレベルのメモリ値を記述するのに役立つことができ、トピック「3a」で議論される。
フィールドの説明です。%MEM - simply RES divided by total physical memory CODE - the `pgms' portion of quadrant 3 DATA - the entire quadrant 1 portion of VIRT plus all explicit mmap file-backed pages of quadrant 3 RES - anything occupying physical memory which, beginning with Linux-4.5, is the sum of the following three fields: RSan - quadrant 1 pages, which include any former quadrant 3 pages if modified RSfd - quadrant 3 and quadrant 4 pages RSsh - quadrant 2 pages RSlk - subset of RES which cannot be swapped out (any quadrant) SHR - subset of RES (excludes 1, includes all 2 & 4, some 3) SWAP - potentially any quadrant except 4 USED - simply the sum of RES and SWAP VIRT - everything in-use and/or reserved (all quadrants)
....
USED - 使用中のメモリ(KiB)このフィールドは、ジョブで使用されているスワップされていない物理メモリ(RES)とそのアドレス空間(SWAP)のスワップアウト部分を示します。
詳細については、「概要、Linux メモリの種類」を参照してください。
VIRT - 仮想メモリサイズ(KiB)操作で使用される仮想メモリの総量。これには、すべてのコード、データ、共有ライブラリ、および置き換えられたページも含まれます。マップされたが未使用のページ。
詳細については、「概要、Linux メモリの種類」を参照してください。
ベストアンサー1
USEDとVIRTの違いは何ですか? USEDは「RES」+「SWAP」です。 「VIRT - USED」はマップされているが未使用のページと同じですか?
はい。一般的に言えば、これはプログラムによって割り当てられたスペースには決して触れません(多くのものが大きな塊として割り当てられ、スペース割り当ては計算コストが高くなるため、しばしば過度に割り当てられます)。
「VIRT」または「USED」にはカーネル空間で使用されるサイズが含まれていますか?
これらのどれも、カーネル空間内のプロセスに代わって割り当てられた空間を占有しません。ほとんどの場合、ほとんどのプログラムはカーネルメモリに多くのスペースを使用しないため、これは重要ではありません。
「RES」には「CODE」と「DATA」が含まれていますか?
はい、しかし必ずしもすべてではありません。 CODEとDATAはどちらもSWAPに部分的に常駐できます(実際には完全にSWAPに常駐できますが、プロセスがその時点で実際にコードを実行していない場合にのみ可能です)。