Saya menemukan utas tentang menginstal drive SSD di MacBook Pro.
Seseorang dalam komentar juga merekomendasikan untuk menonaktifkan file swap tetapi tidak mengatakan alasannya:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
sudo rm /private/var/vm/swapfile*
Saya bertanya-tanya mengapa seseorang ingin menonaktifkan file swap di Mac OS X.
Apakah ini meningkatkan kinerja? Stabilitas?
Ada kerugian?
Akhirnya, apakah masuk akal untuk menonaktifkan file swap ketika tidak menggunakan SSD?
Jawaban:
Saya kira orang akan melakukannya untuk drive SSD karena drive tersebut tidak memiliki masa pakai yang sama dengan drive disk berputar magnetik standar. Ada jumlah siklus tulis yang lebih terbatas, jadi mungkin menggunakannya dengan file swap akan menghabiskan siklus ini lebih cepat.
Jika Anda memiliki banyak RAM, ini mungkin akan mempercepat kinerja, tetapi itu bukan ide yang baik secara umum. Jika Anda berlari melawan langit-langit memori, hal-hal akan menjadi serpihan.
Juga, memori berkabel tidak dilepaskan ketika menjadi tidak valid, itu hanya dilepaskan ketika peristiwa keluar halaman dipicu, yang tidak akan terjadi jika Memori Virtual dinonaktifkan. Jadi tidak akan butuh waktu lama untuk semua memori Anda untuk dimakan meskipun itu tidak lagi digunakan.
sumber
Alasan mereka menonaktifkan file swap kemungkinan paranoia tentang SSD yang memiliki jumlah tulis maksimum per blok. Swap file dapat sering ditulis, kemungkinan menyebabkan fragmentasi disk (serta fragmentasi sistem file) dan, akhirnya, mungkin menyebabkan disk gagal lebih cepat.
Yang mengatakan, ini jelas merupakan kasus optimasi prematur. Hal ini hampir selalu mengerikan , mengerikan ide untuk menonaktifkan swap file. File swap ada saat ketika program Anda yang berjalan mengkonsumsi lebih banyak memori daripada yang Anda instal secara fisik. Jika Anda menonaktifkannya, Anda mungkin tidak dapat menjalankan banyak program pada saat yang sama (dan batasnya jauh lebih rendah dari yang Anda harapkan) atau Anda mungkin memiliki masalah (seperti membekukan dan harus mem-boot ulang mesin) saat Anda kehabisan memori.
Yang terakhir saya alami (dengan file swap diaktifkan) ketika kehabisan ruang disk. Saya memiliki drive 120 manggung dengan ~ 3 gigs gratis. Saat bermain Civilization IV (permainan layar penuh besar), sistem kehabisan ruang hard drive (~ 50 MB gratis) dan menyajikan jendela "kill apps now". Ini bersembunyi di balik game layar penuh, jadi sistemnya hanya terkunci. Jika saya tidak dapat ssh in dari Mac lain untuk mematikan beberapa aplikasi dari jarak jauh, saya harus menahan tombol power.
sumber
Anda memiliki dua jawaban hebat yang menjelaskan mengapa ini adalah ide yang buruk di hampir semua kasus di mana sistem dapat menulis ke perangkat penyimpanan.
Alasan Anda dapat menonaktifkan swap adalah agar sistem dapat berjalan pada media hanya baca seperti CD, DVD, gambar jaringan yang dikunci menggunakan NetBoot atau fob USB hanya baca seperti penginstal Lion baru atau fob pemulihan yang dikirimkan bersama beberapa mac yang kurang optik drive.
Memiliki memori virtual berarti sistem dapat berjalan jauh lebih cepat dan menggunakan lebih sedikit RAM ketika banyak program menggunakan kode perpustakaan umum yang sama. Setiap program berpikir memiliki salinan pribadi dari semua kode yang diperlukan, tetapi ketika ada memori virtual, sistem memiliki cara yang bagus untuk memetakan RAM fisik yang sama ke program yang berbeda.
Menonaktifkan swap mencegah mac dari menggunakan sebagian kecil dari drive Anda sebagai cache untuk beberapa memori yang telah dihitung tetapi program tidak cukup pintar untuk menulis hasil itu sendiri ke cache yang tepat.
Jika Anda memiliki cadangan dan waktu untuk bereksperimen, mengapa tidak mematikannya dan melihat bagaimana pengalaman Anda berubah.
Saya akan terus bertukar bahkan jika saya tahu pasti saya harus membayar untuk drive baru setiap tahun. Kecepatan swap yang saya berikan adalah BESAR. Ini tidak selalu demikian, dan pada saat sistem meronta-ronta atau paging - Anda dapat memiliki yang sebaliknya. Banyak orang memilih untuk menjalankan tanpa swap sehingga mereka mendapatkan kesalahan alokasi memori daripada membiarkan mac mereka memulai paging karena hal itu dapat memperlambat mesin ketika segala sesuatu tidak berjalan dengan lancar.
Kasing Anda dengan SSD bisa berbeda, jadi beri tahu kami jika Anda mencobanya.
sumber
dynamic_pager
, dua belas detik tanpa. Untuk perbandingan yang lebih luas dan lebih terukur, kami mungkin menggunakan Phoronix Test Suite atau Geekbench .Saya akan menjadi penentang di sini: Saya menonaktifkan swap pada akhir 2008 unibody macbook pro saya dan itu meningkatkan kinerja secara nyata: Kurang menunggu, lebih cepat beralih antar aplikasi.
Pikiran Anda, saya mengawasi memori bebas saya dan saya sudah menginstal 6GB. Beberapa kali saya mencapai batas memori, sistem crash :-D
Di MacBook Air baru saya, saya tidak akan bermimpi menonaktifkan swap, ini sudah cepat dengan itu diaktifkan dan hanya memiliki 4GB untuk memulai.
Alasan bagus lainnya orang menonaktifkan swap pada SSD adalah karena mereka mendapatkan SSD kecil dan membutuhkan semua ruang yang bisa mereka dapatkan. Bagaimanapun, jangan lakukan itu.
sumber
Pengalaman saya mirip dengan w00t. Saya telah menonaktifkan file swap pada SL dan Lion karena peningkatan kinerja berfungsi untuk saya. Penggunaan kabel tidak di luar kendali setelah seminggu atau lebih tetapi reboot sederhana memperbaikinya. Saya tidak memiliki SSD tetapi disk 5400rpm lambat. Masa hidup SSD sebenarnya tidak seburuk orang yang mencoba membuatnya. Jika Anda melakukannya hanya karena Anda takut memakai SSD Anda, lihat: http://www.anandtech.com/show/4159/ocz-vertex-3-pro-preview-the-first-sf2500- ssd / 2 dan http://communities.intel.com/thread/21717?tstart=0 Intel memberi peringkat drive mereka untuk lebih dari 20GB sehari, setiap hari, hingga 5 tahun pada drive 80GB. Drive berukuran lebih besar akan bertahan lebih lama. Rata-rata pengguna bahkan tidak menggunakan 10GB / hari.
Saya pastikan untuk memantau penggunaan memori 4GB dengan iStat Menus dan menggunakan skrip Automator dengan perintah "purge" bash (mengharuskan Xcode diinstal) untuk menghapus memori yang tidak aktif dan sering membuka lebih banyak memori bebas. Beberapa kali saya memiliki aplikasi dengan kebocoran memori menghabiskan semua RAM, saya memang harus melakukan hard reset. Kesempatan langka yang terjadi dan mempercepat secara umum membuatnya berharga untuk menjaga file swap dinonaktifkan untuk saya. Saya menyadari bahwa saya tidak dapat membuka banyak aplikasi sekaligus karena ini seperti yang dinyatakan oleh orang lain, tetapi saya dapat bekerja dengan itu.
sumber
Hanya melempar 2 sen saya untuk mereka yang ingin menonaktifkan swap KARENA SSD kecil: sleepimage menggunakan ruang disk yang jauh lebih banyak.
Dan, bagi mereka yang khawatir tentang usia SSD yang terbatas (terutama yang memiliki chip MBA dan chip berkabel yang TIDAK DAPAT diganti), jika komputer Anda tidur berkali-kali per hari, penulisan ulang sleepimage mungkin menjadi masalah. Laptop saya tidur setengah lusin kali / hari dengan mudah. Itu menulis 48GB data ke SSD saya setiap hari.
Solusi dalam setiap kasus adalah dengan menonaktifkan hibernasi, dan kemudian menghapus file sleepimage yang sebesar RAM yang Anda instal (8GB dalam kasus saya).
Risiko downside: jika baterai Anda mati saat laptop Anda tidur, keadaan Anda saat ini akan hilang. Ini akan setara dengan hard restart paksa. Tidak ada kerusakan fisik pada laptop, hanya kehilangan produktivitas. Jika Anda menonaktifkan hibernasi, maka jalankan baterai Anda rendah dan tidak dapat diisi, cukup gunakan kode untuk mengaktifkan hibernasi!
Untuk menonaktifkan hibernasi, di Terminal, perintahnya adalah sebagai berikut:
Untuk mengaktifkan hibernasi, perintahnya adalah sebagai berikut:
Untuk menghapus sleepimage terakhir untuk mengosongkan ruang SSD / HDD (hanya masuk akal jika Anda mematikan hibernasi, kalau tidak hibernasi akan mengambil ruang itu lain kali saat komputer Anda tidur):
Sumber: man pmset
sumber
Menonaktifkan swap memang meningkatkan kinerja. Sebagai contoh, saya secara teratur menggunakan Aperture dan ketika swap meningkatkan kinerja, dan ketika melampaui 1Gb saya harus memulai ulang OS untuk membersihkannya dan memulihkan kinerja. Catatan: mesin memiliki 6GB RAM dan BUKAN semuanya terisi, sekitar 3GB gratis, tetapi 1G menukar secara signifikan menurunkan kinerja.
sumber
Saya telah menonaktifkan swap pada mesin selama bertahun-tahun, baik pada OS X dan varian UNIX lainnya.
Saya menggunakan alat untuk mengingatkan saya ketika kehabisan memori, dan tidak pernah khawatir tentang sistem saya crash.
IMac saya memiliki 12GB, dan dengan penonaktifan penonaktifan, saya hampir selalu memiliki 4GB gratis, bahkan dengan beberapa alat pengembangan, aplikasi, browser, dll. Terbuka
sumber
Pola berulang di sini adalah ini:
Mereka yang MEMILIKI file swap yang dinonaktifkan mengalami peningkatan kinerja (dengan RAM fisik yang memadai)
Mereka yang TIDAK menonaktifkan ruang swap yakin bahwa itu tidak akan berfungsi, dan sesuatu yang buruk akan terjadi, dan dengan keras menyarankan agar Anda tidak melakukannya.
Ini hanya karena dua hal:
sumber
Hanya pengalaman pribadi.
Catatan singkat: Jika Mac Anda menggunakan grafik terintegrasi, memorinya dibagi dengan memori utama Anda dengan kernel_task. Dengan demikian, Anda harus mengurangi jumlah itu dari total yang dapat digunakan.
Pengguna SSD, sangat puas memiliki lebih banyak ruang, tetapi penting untuk mengetahui bahwa memori virtual berkembang pesat di SSD, Anda bisa mendapatkan banyak keuntungan kinerja dari itu. Apakah itu melukai SSD? Ya, tetapi Anda akan lama mengganti Mac Anda sebelum Anda perhatikan.
sumber
Ringkasan bisnis plan
Area swap (disebut partisi swap, file swap, atau file halaman) hanyalah mekanisme untuk menambah memori fisik yang dapat ditangani oleh OS.
Jika Anda kekurangan RAM fisik yang tersedia, dan pada mesin saat ini, saya akan mengatakan jika Anda memiliki RAM 4 GB atau kurang. Maka Anda mungkin harus memiliki swap. Tetapi ini tergantung pada beban kerja Anda dan bagaimana Anda menggunakan mesin Anda.
Jika Anda memiliki lebih dari 4GB RAM, ada kemungkinan besar sistem Anda tidak akan pernah menggunakan swap. Jadi jika swap diaktifkan atau tidak, ini tidak akan banyak berubah.
Meskipun ini tergantung pada faktor-faktor lain, semakin lama mesin Anda berjalan, semakin besar kemungkinan OS akan menukar sebagian kecil RAM yang tidak digunakan ke swap walaupun ada banyak tempat yang tersisa. Namun, seringkali sistem menggunakan RAM "bebas" untuk buffer file dan hal-hal lain, dan beberapa beban kerja mungkin membuat buffer file Anda menggunakan semua RAM yang tersedia.
Informasi latar belakang
Apa yang akan terjadi jika Anda menonaktifkan swap dan memori Anda sepenuhnya digunakan? Nah, saat berikutnya aplikasi meminta lebih banyak memori (seperti dengan malloc atau realloc), itu akan menerima kesalahan! Jika dikodekan dengan benar, aplikasi akan mendeteksinya, tetapi menangani kesalahan seperti itu dan menghentikan program dengan anggun masih bisa menjadi tantangan! Namun, banyak pengembang tidak menguji alokasi memori yang berhasil dan seringkali aplikasi macet segera setelah memori yang tidak dialokasikan ini akan digunakan. Jadi ada peluang kuat bahwa aplikasi akan macet, dan sebenarnya banyak aplikasi akan macet karena Anda memiliki lebih dari satu aplikasi yang biasanya berjalan pada saat yang sama. Mudah-mudahan, kernel itu sendiri harus kebal, tetapi dalam pengalaman saya itu tidak selalu terjadi.
Jika Anda memiliki swap, Anda akan memiliki perilaku yang sama , tetapi Anda memiliki batas lebih tinggi sehingga kemungkinan Anda tidak akan mencapai batas itu.
Saya memiliki 2 mesin personnaly dengan RAM 8 dan 16 GB. Penggunaan pribadi saya atas mesin ini seharusnya tidak pernah membuat saya dekat untuk menggunakan semua RAM ini (hari ini! Mungkin dalam beberapa tahun yang bisa berbeda). Satu-satunya alasan saya akan mencapai batas RAM fisik adalah bahwa suatu proses menjadi nakal dan memakan semua RAM. Tidak memiliki swap adalah suatu kelegaan, kernel akan segera membunuh proses jahat segera setelah mencapai batas RAM. Jika Anda memiliki swap, Anda akan mendapatkan pengalaman yang menyakitkan (mungkin bukan pada SSD ...) karena sistem Anda akan menukar dan menukar dan menukar dan kadang-kadang menjadi benar-benar tidak responsif sampai semoga kernel Anda membunuh pelakunya!
Saran
Anda seharusnya tidak takut oleh orang-orang yang mengatakan sesuatu yang sangat buruk akan terjadi jika Anda menghapus swap. Jika Anda melakukannya, ruang alamat fisik Anda akan berkurang, seperti jika Anda akan beralih dari 4 GB RAM menjadi 2 GB. Apakah Anda akan melakukan hal seperti itu? Maka Anda tidak harus menghapus swap. Namun Anda dapat memutuskan untuk membatasinya, dan itu akan menjadi bijaksana .
Jika orang mengira beban kerjanya mungkin membuatnya menggunakan dekat atau lebih dari RAM fisik yang tersedia, atau jika seseorang membutuhkan banyak I / O (baca / tulis ke disk), maka swap harus disimpan.
Ketika swap harus disimpan, pengguna harus mencoba untuk menetapkan batas jumlah memori yang dapat digunakan oleh suatu proses. Pada sistem Linux, seseorang dapat menggunakan batas memori cgroup untuk menghindari bahwa beberapa proses menjadi tidak terkendali, saya tidak tahu yang setara pada OS X tetapi itu harus menjadi caranya.
Namun, jika seseorang memiliki lebih dari cukup memori yang tersedia untuk beban kerjanya, maka ia dapat dengan aman menonaktifkan swap atau ia dapat menyimpannya. Itu tidak akan banyak berubah bahkan dalam hal kinerja karena jika sistem tidak menggunakan swap, maka Anda tidak terkena penurunan kinerja (terutama terlihat pada hard disk rotasi lama, kurang begitu pada SSD).
Menggunakan trik yang sama seperti di atas untuk mencoba menetapkan batas memori per proses atau kelompok proses juga merupakan penerima dalam hal RAM yang tersedia lebih dari cukup.
Contoh saya sendiri
Saya memiliki PC lama dengan RAM 1 GB, di sana saya memiliki pertukaran besar: 4 GB sehingga saya dapat menjalankan Firefox dan aplikasi lain di dalamnya. Saya cenderung menggunakan aplikasi sesedikit mungkin (atau tab di Firefox) untuk memiliki pengalaman pengguna yang benar.
Saya memiliki server kecil dengan RAM 8 GB. Di sana saya tahu persis pekerjaan saya dan saya tidak ingin server saya melambat karena suatu proses menjadi tidak benar dan menghabiskan semua memori. Di sana saya tidak memiliki batasan swap dan memori cgroup yang membatasi, sehingga aplikasi atau layanan dapat macet tetapi tidak pada kernel. Btw, ini adalah mesin Linux.
Lalu, saya memiliki Mac dengan RAM 16 GB. Saya bukan pengguna satu-satunya, dan kami tidak keberatan menunggu saat berpindah pengguna. Di sana kita punya swap, sulit bagi saya untuk merencanakan beban kerja pengguna lain dari komputer ini. Bahkan jika saya akan menjadi satu-satunya yang akan saya gunakan swap. Saya sering menjalankan beberapa VM dan menggunakan aplikasi yang menghabiskan banyak memori, tetapi tidak semuanya bersamaan, jadi saya tidak keberatan OS bertukar dalam aplikasi yang tidak digunakan sehingga saya bisa mendapatkan disk I / O yang lebih cepat atau meluncurkan VM lain. Sampai sekarang, saya belum melihat mesin ini bertukar!
sumber
Saya baru saja menonaktifkan file swap pada 2011 Macbook air (RAM 4GB, 128GB SSD) saya karena saya muak dengan file swap yang perlahan memakan semua ruang HD saya yang tersisa dan kemudian harus memulai ulang. Dengan cara ini, idenya adalah saya hanya akan menjalankan lebih sedikit program.
Saya akan melihat apakah itu benar-benar berfungsi, atau jika saya harus me-restart lagi untuk menghapus memori "Wired", tetapi untuk saat ini tampaknya berfungsi dengan baik. Satu kali memori menjadi sangat penuh, komputer melambat seperti halnya ketika SSD saya kehabisan memori - tetapi ia pulih jauh lebih cepat begitu saya keluar dari aplikasi. (Dan saya sebenarnya bisa keluar dari aplikasi, yang biasanya tidak saya lakukan ketika SSD terisi).
Saya akan melihat bagaimana ini berjalan dengan bijaksana, tetapi sejauh ini saya adalah kemping yang bahagia. Itu juga memaksa saya untuk menjalankan lebih sedikit aplikasi (dan tab Chrome) sekaligus, yang bagus untuk fokus tugas.
sumber
Alasan utama untuk menonaktifkan swapfile bukanlah kecepatan - ini adalah ruang disk.
Jika seseorang adalah pengguna yang secara rutin berjalan dalam 5 GB drive penuh, menonaktifkan swap akan menghentikan omelan terus-menerus kehabisan ruang; Saya secara rutin berakhir dengan swapfile 4+ GB dari penelusuran rutin.
Peningkatan kecepatan mengejutkan pada mesin yang lebih tua; tidak begitu mengesankan pada mesin modern yang dilengkapi SSD. (Di bawah OSX 10.0 pada iMac, menggunakan memori virtual mengurangi separuh kecepatan banyak operasi, termasuk menyalin file antar drive).
sumber