ここでは、この質問について詳しく説明します。
Linuxでアプリケーションまたはプロセスのメモリ使用量をどのように測定しますか?
Linuxでのメモリ使用量の理解のブログ記事から、ps
はこの目的に使用する正確なツールではありません。
なぜ
ps
「間違っている」のか見方によって
ps
は、プロセスの実際のメモリ使用量は報告されません。それが実際に行っていることは、実行中の唯一のプロセスである場合、各プロセスが使用する実メモリの量を示しています。もちろん、一般的なLinuxマシンでは常に数十のプロセスが実行されps
ています。つまり、によって報告されるVSZとRSSの数値はほぼ間違いなく間違っています。
ps
はそれも表示されません-仮想メモリと常駐メモリの数が表示されます。仮想は、プロセスが理論的に使用できるメモリの最大量であり、それが唯一のプロセスであったため(決してそうではありません)、割り当てたすべてのページを使用しました(決して起こりません)また、ページをマップまたはマップ解除しませんでした(可能性は低い)。常駐中は、物理メモリに現在マッピングされている仮想メモリの量が表示されます。virt > usage > res
ただし、通常は64ビットシステムvirt ~= res*10
では非常に広範囲です。