それは私のhtop出力です:
たとえば、私はこのルビスクリプトに混乱しています:
使用している物理メモリはいくつですか?3+1+8+51+51
?51
?51+51
?
はい、見ています。しかし、私のスクリプトによるメモリ使用量はどれですか?なぜ2つある
—
ライ・ユシュアン
51
のですか?102メガバイトを消費しますか?それとも51メガバイトだけですか?外側のプロセスRESでは、内部プロセスのRESが含まれている、なぜ3
、1
、8
より、すべての少ないですか51
?
プロセスが分岐したため、51が2つあります。2つのプロセスがそれぞれ同じ51メガバイトを使用しているため、おそらく102メガバイトを消費しませんが、簡単にはわかりません。そのメモリが他のプロセスにも存在する場合、他のプロセスRESには内部プロセスが含まれ、そうでない場合は含まれません。RESフィールドは、各プロセスが使用している物理メモリの量を示しますが、他のプロセスも同じ物理メモリを使用している場合と使用していない場合があります。
—
デビッドシュワルツ
2つのプロセスが同じメモリを使用しているかどうかを知りたい場合は、pmap -d <プロセスID>
—
-Sirch
@ LaiYu-Hsuan:はい、あなたは間違っています。ページはコピーされず、共有されます。いずれかのプロセスがページに書き込む場合にのみコピーされ、非共有にする必要があります。(これは「コピーオンコピー」または「CoW」と呼ばれます。)
—
デイビッドシュワルツ
RES
列は見たいものです。