Setelah seharian bekerja di MacBook Pro saya yang menjalankan Mac OS X 10.6.5, Activity Monitor menunjukkan bahwa mayoritas memori 8 GB komputer saya adalah "Tidak Aktif", dan hanya sepotong kecil dari diagram lingkaran adalah "Gratis". Ini bahkan ketika saya telah menutup semua aplikasi, dengan hanya Finder yang berjalan.
Apa artinya? Apakah memori "Tidak Aktif" diambil oleh sesuatu? Atau apakah sebenarnya masih tersedia untuk aplikasi untuk digunakan? Terima kasih.
Jawaban:
OS X, seperti kebanyakan sistem operasi modern, menggunakan sistem memori virtual untuk mengelola memori. Di antara tujuan lain, ini memungkinkan sistem operasi untuk memperlakukan komputer sebagai memiliki kumpulan memori yang tidak terbatas. Untuk mencapai hal ini, OS akan halaman bagian yang tidak terpakai dari RAM ke disk store yang dikenal sebagai swapfile .
Tentu saja, RAM tidak terbatas, jadi OS X mengelompokkan RAM menjadi empat kategori: kabel, aktif, tidak aktif, dan gratis. Memori berkabel diperlukan oleh sistem operasi, dan tidak akan pernah bisa kehabisan memori. Memori aktif adalah memori yang digunakan oleh program yang sedang berjalan. Memori tidak aktif digunakan baru-baru ini oleh program yang sekarang telah dihentikan (atau tidak digunakan dalam waktu yang lama). Bebas memori, seperti namanya, RAM yang tidak sedang digunakan.
Saat Anda meluncurkan program, program akan dimuat ke dalam memori aktif. Namun, ketika Anda keluar dari sebuah program, program itu tidak dihapus dari RAM; melainkan, ia terbentur ke dalam memori tidak aktif. Inilah sebabnya mengapa seringkali lebih cepat untuk meluncurkan kembali suatu program - program ini masih dalam RAM (coba ini dengan program besar seperti Firefox).
Setelah semua memori Anda digunakan (memori bebas adalah 0), OS akan menuliskan memori tidak aktif ke swapfile untuk membuat lebih banyak ruang dalam memori aktif.
Jika suatu program dipindahkan ke swapfile, dan Anda meluncurkannya kembali, itu akan ditarik dari swapfile ke memori aktif.
Jadi singkatnya, Anda seharusnya tidak peduli jika memori bebas Anda rendah. Faktanya, Anda ingin memori rendah - bebas adalah memori yang terbuang (karena OS tidak menggunakannya untuk apa pun).
Ketika memeriksa berapa banyak memori yang digunakan komputer Anda, Anda sebenarnya ingin memperhatikan sebagian besar Swap yang digunakan , yang memberitahu Anda ukuran swapfile memori virtual, dan Page ins , yang memberitahu Anda seberapa sering OS harus menarik memori dari swapfile ke dalam memori aktif.
sumber
Ini kemungkinan besar bukan masalah, dan sebenarnya berpotensi mempercepat komputer Anda.
Semua sistem operasi (kebanyakan?) Menggunakan Disk Cache, yang menyimpan beberapa file yang baru-baru ini diakses dalam memori sehingga akses berulang file-file tersebut dapat dipercepat. Cache disk pada OS X berukuran bervariasi, dan akan muncul sebagai "Memori Tidak Aktif" yang digunakan.
Jika ada program yang membutuhkan lebih banyak memori, OS X akan menghapus beberapa cache disk (file yang paling baru digunakan) untuk memberikan ruang bagi program untuk menjalankan / memperluas.
Saya menemukan bahwa jika saya melakukan banyak kompilasi atau penyortiran foto (yaitu mengakses ribuan file secara berurutan) cache disk akan berkembang dan menggunakan banyak Memori Tidak Aktif. Asalkan ini hanya cache disk, tidak ada yang perlu dikhawatirkan.
Jika itu adalah proses latar belakang atau aplikasi yang sedang berkembang dalam penggunaan memorinya (tetapi halaman-halamannya ditandai tidak aktif) maka Anda akan dapat mengetahui dengan memeriksa semua program dengan penggunaan "Memori Nyata" yang sangat tinggi di Activity Monitor. Jika tidak ada yang besar di sana (yaitu totalnya jauh dari 8GB) maka itu akan menjadi file cache.
Anda harus melihat bahwa ada sedikit jika ada penggunaan Swap, dan jika Anda membuka program intensif-memori, jumlah memori tidak aktif akan berkurang tanpa harus menukar ke disk.
(Saya percaya ada bug di 10,4 atau 10,5 untuk sementara waktu di mana itu tidak selalu membebaskan memori ini dengan sangat efektif, dan akan menyebabkan swapping meskipun memiliki cache disk yang besar, tetapi menurut pengalaman saya ini nampaknya diselesaikan pada 10.6).
sumber
Memori "tidak aktif" tersedia untuk digunakan oleh program lain - hanya caching program atau data yang baru saja Anda gunakan, jika Anda membutuhkannya lagi. Jika Anda meluncurkan program yang berbeda atau membutuhkan data yang berbeda, memori yang di-cache akan dihapus dan tersedia untuk beban kerja baru Anda sesuai kebutuhan.
Bagaimanapun teorinya, dan saya percaya itu masuk akal. Namun, saya memang menemukan referensi ini ke "pembersihan" utilitas seseorang menulis karena mereka tidak berpikir memori tidak aktif dirilis cukup cepat.
Untuk dokumentasi resmi tentang masalah ini, baca ini (dan cari "tidak aktif").
sumber
Dimulai dengan OS X 10.5 ada masalah manajemen memori yang jelas di MAC OS X.
Saya akhirnya berhasil mereproduksi skenario bermasalah, jadi saya menjalankan tes dan merekam layar, menjadi video.
Masalah kinerja MAC OS X Lion - manajemen memori rusak
Saya menjalankan perintah tar + bzip, yang merupakan hal dasar unix, pada sejumlah besar file gambar, di Pictures / folder saya. Tepat sebelum memulai, saya menjalankan perintah "pembersihan", untuk menghapus data program yang tidak aktif / di-cache.
Anda dapat melihat pada video bahwa memori bebas mulai turun sangat cepat, dan tidak aktif terus meningkat. Jika Anda melihat perintah "bsdtar", itu hanya membutuhkan sebagian dari RAM, jadi masalahnya bukan pada proses ini. Anda tidak dapat mengatakan bahwa itu adalah kebocoran memori program, karena dengan demikian masalahnya tidak akan menjadi ram tidak aktif, melainkan dalam aktif / kabel.
Ketika memori bebas turun di bawah 100mb, saya memulai beberapa aplikasi, seperti Safari, iPhoto, dan MS Word, dan Anda dapat melihat dalam video, bahwa dibutuhkan waktu beberapa menit untuk memulai aplikasi, ketika biasanya (ketika ada RAM gratis), itu akan memakan waktu 3-5 detik untuk memuat.
Saya menjalankan skenario yang sama dan perintah yang sama pada kotak Linux Centos 6 saya, tidak ada masalah di sana! Penggunaan memori sekitar 10-20mb, tidak ada masalah dengan cache / buffer.
Manajemen memori harus sangat rusak di Mac OS X!
sumber
Diskusi ini masuk akal hanya jika pernyataan bahwa "komputer Anda akan berjalan lebih cepat ketika memori bebas rendah" - benar. Kecuali jika Desktop Mac saya berkabel aneh, begitu memori bebas saya (dimonitor) mulai menipis, program apa pun yang saya jalankan pada saat itu mulai macet sampai ke titik di mana saya tidak dapat melakukan apa-apa sampai ia kembali dengan sendirinya atau oleh intervensi Memori Bebas saya. Saya memiliki iMac 2118 (2006 atau lebih baru) yang maksimal pada 3 GB RAM jadi saya mencoba untuk mengaturnya ketika saya bisa tetapi ini sangat membuat frustrasi. Adakah pikiran?
sumber