Apa perbedaan antara Memori Nyata, Virtual, Dibagikan, dan Pribadi?

63

Kolom yang berbeda di Monitor Aktivitas agak membingungkan

Jacob Gorban
sumber
Mungkin perlu dicatat bahwa ada tipe memori ke-5 jika Anda mengklik "Periksa" pada suatu proses dibandingkan dengan kolom di Monitor aktivitas. Secara khusus, ada dua jenis memori "Virtual": "Ukuran Memori Virtual" dan "Memori Privat Virtual". Yang terakhir adalah apa yang ditampilkan di kolom "Virtual Mem" di Activity Monitor.
drfrogsplat

Jawaban:

46

Diambil dari jawaban saya di Server Fault :

Jargon Memori Mac OS X:

Wired : Ini mengacu pada kode kernel dan semacamnya. Memori yang seharusnya tidak pernah dipindahkan dari RAM. Juga dikenal sebagai memori penduduk.

Shared : Memory yang dibagi antara dua proses atau lebih. Kedua proses akan menunjukkan jumlah memori ini sehingga dapat sedikit menyesatkan mengenai seberapa banyak memori yang sebenarnya digunakan.

Nyata : Ini adalah penggunaan memori "nyata" untuk aplikasi seperti yang dilaporkan oleh task_info () - jumlah kasar dari jumlah halaman fisik yang dimiliki proses saat ini. (RSIZE)

Pribadi : Ini adalah memori yang digunakan proses sendiri-sendiri yang digunakan dalam memori Residen. (RPRVT)

Virtual : Jumlah total ruang alamat dalam proses yang dipetakan ke apa pun - apakah itu ruang yang besar secara sewenang-wenang untuk variabel atau apa pun - tidak menyamakan dengan penggunaan VM yang sebenarnya. (VSIZE)

Aktif : Memori saat ini dilabeli sebagai aktif dan digunakan RAM.

Tidak aktif : "Memori tidak aktif tidak lagi digunakan dan telah di-cache ke disk. Itu akan tetap dalam RAM sampai aplikasi lain membutuhkan ruang. Meninggalkan informasi ini dalam RAM adalah untuk keuntungan Anda jika Anda (atau klien komputer Anda) kembali untuk nanti. " - Bantuan Mac OS X

Gratis : Jumlah RAM sebenarnya tersedia tanpa data apa pun.


Dokumentasi terbaik yang saya tahu (dan telah dapat ditemukan dalam penelitian tindak lanjut) adalah artikel Apple Mengelola Memori di situs web pengembangnya.

Sumber berharga lainnya: milis Darwin-dev: [ 1 ], [ 2 ] dan sebuah artikel lama tentang MacOSXHints . Selain itu Mike Ash telah memposting pengantar awam yang baik di blog - nya

Chealion
sumber
5
Dari membaca dokumen Mengelola Memori Apple, Inactive belum tentu di-cache ke disk. Anda dapat mendemonstrasikan ini jika Anda memeriksa penggunaan memori Tidak Aktif Anda (milik saya adalah 747,5 MB sekarang) dan "Swap Anda digunakan" (milik saya adalah 0 byte sekarang). Tidak aktif hanya merujuk ke halaman memori yang belum dibaca / ditulis oleh proses apa pun.
drfrogsplat
1
Mungkin perlu diperjelas "Virtual" karena ada dua referensi ke memori "Virtual" di Activity Monitor. Kolom "Virtual Mem" mengacu pada " Virtual Private Memory " di jendela Inspect Process, dan kemudian ada entri lain yang berjudul " Virtual Memory Size " di jendela itu (yang saya yakini sebagai komponen bersama dari memori Virtual). Ini pada 10.6.4 (dalam hal Activity Monitor telah mengubah terminologi ...)
drfrogsplat
Apakah "memori pribadi" bagian dari "memori nyata"?
Franklin Yu
6

Mem nyata berkaitan dengan memori fisik (modul RAM aktual di komputer Anda). Virtual Mem adalah berapa banyak memori "palsu" dialokasikan untuk proses, yang berarti memori yang dialokasikan pada media penyimpanan permanen (hard drive, solid state drive, dll) untuk proses itu. Memori bersama adalah memori fisik (Nyata) yang dapat dibagi dengan proses lain. Memori pribadi adalah memori "nyata" yang hanya dapat digunakan oleh proses yang dialokasikan kepadanya.

Penjelasan ini dapat membantu juga ... langsung dari monitor aktivitas -> bantuan -> melihat penggunaan memori sistem:

Berikut ini penjelasan dari beberapa informasi yang ditampilkan di bagian bawah panel memori:

  • Berkabel: Memori berkabel berisi informasi yang harus selalu tetap dalam RAM
  • Aktif: Memori aktif yang berisi informasi yang sedang digunakan secara aktif.
  • Tidak aktif: Memori tidak aktif berisi informasi yang tidak aktif digunakan. Membiarkan informasi ini dalam RAM menguntungkan Anda jika Anda (atau klien komputer Anda) kembali lagi nanti.
  • Digunakan: Memori yang digunakan sedang digunakan oleh suatu proses atau oleh sistem. Memori yang digunakan adalah jumlah dari memori kabel, aktif, dan tidak aktif. Jika sistem membutuhkan memori, dibutuhkan memori bebas sebelum menggunakan memori.
  • Gratis: Memori bebas tidak digunakan dan segera tersedia.
  • Ukuran VM: Memori virtual, atau VM, adalah ruang hard disk yang dapat digunakan sebagai memori. Ukuran VM adalah jumlah ruang disk yang digunakan sebagai memori. Mac OS X dapat menggunakan lebih banyak memori daripada jumlah RAM fisik yang Anda miliki. Hard disk jauh lebih lambat daripada RAM, sehingga sistem memori virtual secara otomatis mendistribusikan informasi antara ruang disk dan RAM untuk kinerja yang efisien. Halaman ins / out: Jumlah gigabyte informasi Mac OS X telah berpindah antara RAM dan ruang disk
Robert S Ciaccio
sumber
6
Ini tidak benar. Memori Virtual bukan memori yang dialokasikan pada disk (yang disebut swap). Memori virtual adalah yang memiliki ruang alamat yang dialokasikan tetapi tidak ada dalam memori fisik. Itu mungkin tampak seperti hal yang sama, tetapi berbeda secara halus. Dalam banyak kasus, program mengalokasikan memori tanpa pernah menyentuhnya. Dalam kasus tersebut, program menggunakan banyak memori virtual. Untuk memberikan contoh nyata, sistem saya saat ini menggunakan swap 512MB, tetapi memiliki 196 GB memori virtual yang dialokasikan (yang merupakan jumlah yang cukup khas untuk orang yang menjalankan Snow Leopard di K64).
Louis Gerbarg
2
@ Louis, jika memori virtual telah dialokasikan tetapi tidak menggunakan RAM atau hard disk, lalu di mana itu?
Michael Underwood
4
@Michael: tidak ada tempat. Ini teoretis. Hanya karena sudah dialokasikan dan diberi alamat tidak selalu berarti bahwa itu benar-benar digunakan. Bit level rendah dari OS tahu kapan memetakan alamat-alamat itu ke lokasi fisik dalam penyimpanan RAM atau swap, tetapi tidak perlu untuk mengikat ruang itu jika aplikasi tidak benar-benar menyimpan informasi di alamat-alamat itu. Tidak hanya itu, tetapi Anda akan melihat bahwa kolom untuk setiap proses, Virtual Mem, tidak mendekati menambahkan ke Ukuran VM. Proses sebenarnya tidak menggunakan semua memori itu.
Robert S Ciaccio
2
Ada banyak VM yang sebenarnya tidak bisa ditukar. Misalnya, jika Anda mmap file 4GB dibutuhkan 4GB VM, saat membacanya akan langsung masuk dari file, dan di bawah tekanan itu akan dibuang (tidak ditukar) karena file asli dapat dengan mudah dibaca kembali. VM dan bertukar adalah hal yang benar-benar berbeda, VM hanya digunakan untuk mencari tahu apa yang harus dipertukarkan.
Louis Gerbarg
3
Dengan VSIZE saya mengacu pada apa untuk sesuatu yang tidak tercantum dalam monitor aktivitas, Anda dapat melihatnya terdaftar di atas jika Anda mau. Apa daftar Monitor Aktivitas dalam kolom memori virtual adalah apa yang umumnya disebut sebagai VPRVT, yang merupakan jumlah alamat virtual yang digunakan oleh aplikasi yang tidak dibagi dengan aplikasi lain.
Louis Gerbarg
4

Apple memperbarui Monitor Aktivitas di OSX 10.9 (Mavericks). Mereka memiliki artikel bagus tentang apa artinya semuanya di sini http://support.apple.com/kb/HT5890 . Singkatnya...

masukkan deskripsi gambar di sini

  • Memori Fisik: Jumlah RAM yang dipasang.
  • Memori yang Digunakan: Jumlah RAM yang digunakan dan tidak segera tersedia untuk aplikasi lain.
  • Memori Virtual: Jumlah pemetaan memori yang diminta aplikasi. Ini bukan konsumsi sumber daya RAM yang sebenarnya dan ukurannya ditentukan oleh pembuat aplikasi.
  • Swap Used: Ruang pada drive Anda digunakan untuk bertukar file yang tidak digunakan ke dan dari RAM. Adalah normal untuk melihat beberapa aktivitas dan ini bukan indikasi bahwa Anda telah menghabiskan sumber daya RAM. Melihat tekanan memori dalam kondisi Merah akan menunjukkan bahwa sumber daya RAM habis.
  • Memori Aplikasi: Jumlah ruang yang digunakan oleh aplikasi.
  • Memori Berkabel: Memori yang tidak dapat di-cache ke disk, sehingga harus tetap dalam RAM. Memori ini tidak dapat dipinjam oleh aplikasi lain.
  • Terkompresi: Jumlah memori dalam RAM yang dikompres, membuat lebih banyak sumber daya RAM tersedia untuk aplikasi lain.
  • File Cache: Ruang dalam RAM ditandai sebagai tersedia untuk aplikasi yang menggunakan file yang baru saja digunakan.

Grafik Tekanan Memori

Kombinasi statistik memori Gratis, Kabel, Aktif, Tidak Aktif & Digunakan dalam versi sebelumnya dari Monitor Aktivitas telah diganti di Mavericks dengan grafik "Tekanan Tekanan" yang mudah dibaca.

Tekanan memori ditunjukkan oleh warna:

  • Hijau - tersedia sumber daya memori RAM.
  • Kuning - Sumber daya memori RAM sedang ditugaskan.
  • Merah - sumber memori RAM habis dan OS X menggunakan drive untuk memori.
Ryan
sumber