Saya menggunakan OS X dari beberapa bulan (Singa dan sekarang Singa Gunung). Saya memiliki 8 GB pada mini saya dan hampir setiap hari sekarang mendekati itu. Pada mesin Windows 7 dengan 8 GB saya tidak pernah memiliki masalah seperti itu. Bagaimanapun, saya membaca dari internet, bahwa memori yang tidak aktif adalah cache aplikasi dari program-program yang baru saja ditutup dan dapat digunakan untuk pembukaan kembali yang lebih cepat. Dan memori tidak aktif ini dapat dilepaskan ke aplikasi baru jika diperlukan. Itu tidak dirilis. Sebaliknya OS X mulai bertukar. Jadi pertanyaan saya adalah mengapa OS X menggunakan swap ketika ada banyak "memori tidak aktif"? Di sini layar yang menunjukkan apa yang saya maksud:
Saya sangat berharap ada yang jauh untuk membuat OS X untuk menggunakan mereka 2,69 GB sebelum mulai bertukar. Saya benar-benar melakukannya.
Jawaban:
Pertukaran tampaknya terjadi ketika halaman RAM tidak aktif sebenarnya aktif.
( Pembaruan: seperti yang telah diklarifikasi dalam komentar, ini bukan kasus Anda. Jadi, orang dengan masalah yang sama dapat beralih ke aturan horizontal .)
Yaitu Anda memiliki banyak program yang berjalan dan kernel menukar beberapa halaman. Kemudian Anda berhenti dari beberapa program. Kernel menandai halaman RAM mereka sebagai tidak aktif. Tetapi itu tidak akan menukar halaman kembali ke RAM sampai halaman ini diperlukan. Ini menghasilkan halaman yang tidak aktif dan tidak aktif.
Mengapa tidak terlebih dahulu bertukar halaman? Karena itu akan bertaruh melawan peluang: dalam jangka panjang Anda kalah. Mari kita pikirkan contoh sederhana: Dua program A dan B yang tidak sesuai dengan RAM secara bersamaan. Program A masih berjalan dan semua halaman yang ditukar menjadi milik A. Program B telah berhenti dan semua halaman tidak aktif milik B.
Jika kernel terlebih dahulu bertukar halaman A dan segera setelahnya:
Juga pertimbangkan bahwa menukar (menulis ke disk) lebih mahal daripada menukar (membaca dari disk). Yang membuat "taruhan" ini bahkan lebih tidak menarik.
Singkatnya: percayai kernel Anda dan jangan mencoba mengakali itu.
Pembaruan: Ternyata memori tidak aktif tidak berfungsi karena Menggunakan Activity Monitor untuk membaca artikel Memori Sistem telah membuat banyak orang percaya itu berfungsi. Definisi yang diberikan dalam artikel untuk memori tidak aktif benar:
Tetapi contoh berikut ini benar-benar menyesatkan dan terlalu disederhanakan (seperti contoh saya jujur):
Saya mencari lebih banyak sumber daring dan berakhir di utas ini di milis darwin kernel yang cukup informatif. Mengutip Jim Magee (dari tim darwin - saya pikir):
Ini menjelaskan perilaku yang Anda amati. Yaitu halaman tidak aktif yang Anda lihat milik menjalankan program yang belum digunakan baru-baru ini. Jadi, ketika Anda menjalankan program baru, halaman tidak aktif diganti. Pada saat yang sama halaman dari program lain ditandai sebagai tidak aktif untuk mempertahankan rasio 2/1 dari aktif dan tidak aktif.
The benang juga berisi beberapa saran untuk mempelajari lebih lanjut tentang internal darwin. Ada juga beberapa saran jika Anda mulai menyelidiki penggunaan memori karena masalah bola pantai (yang biasanya tidak ada hubungannya dengan itu).
Kesimpulannya tetap sama: Percayai kernel Anda dan jangan mencoba mengakali itu. :-)
sumber
Anda dapat menonaktifkan paging dengan aman jika Anda memiliki ram yang cukup.
Coba perintah ini.
Kemudian mulai ulang dan verifikasi bahwa proses dynamic_pager tidak lagi berjalan.
Pastikan tidak ada swapfile yang dibuat di
/private/var/vm/
.Untuk mengaktifkan kembali coba perintah berikut:
Anda juga dapat menonaktifkan Spotlight untuk membebaskan lebih banyak ram dan mengurangi aktivitas disk. Perintah berikut digunakan untuk menonaktifkan dan mengaktifkan Spotlight.
sumber
Tidak banyak yang bisa Anda lakukan. Kenapa bisa begitu? Karena begitulah cara kerja OS X. Bagian yang menarik adalah bagaimana memori yang ditempati semakin besar dengan setiap tidur Mac.
Apa yang bisa kau lakukan:
sumber
Sistem ini berfungsi seperti yang dirancang. Bahkan ketika tidak ada tekanan memori, masuk akal untuk menulis beberapa halaman yang tidak dapat dibuang tetapi belum lama ini digunakan untuk bertukar ketika sistem tidak sibuk. Dengan begitu, jika ada tekanan memori kemudian, halaman-halaman ini dapat diusir dari RAM tanpa harus terlebih dahulu menulisnya untuk bertukar saat sistem sedang sibuk.
sumber