Sistem memori virtual linux tidak sesederhana itu. Anda tidak bisa hanya menjumlahkan semua bidang RSS dan mendapatkan nilai yang dilaporkan used
oleh free
. Ada banyak alasan untuk ini, tetapi saya akan membahas beberapa alasan terbesar.
-
Saat proses bercabang, induk dan anak akan ditampilkan dengan RSS yang sama. Namun linux menggunakan copy-on-write sehingga kedua proses benar-benar menggunakan memori yang sama. Hanya ketika salah satu proses memodifikasi memori, itu akan benar-benar digandakan.
Ini akan menyebabkanfree
angka menjadi lebih kecil daritop
Jumlah RSS. -
Nilai RSS tidak menyertakan memori bersama. Karena memori bersama tidak dimiliki oleh satu proses pun,
top
tidak memasukkannya ke dalam RSS.
Ini akan menyebabkanfree
angka menjadi lebih besar daritop
Jumlah RSS.