Tratopedia
ES
Tetapan

Saiz teks

Tema

Kontras tinggi

Versi

v1.177.0

Keluaran yang menjadi asas halaman ini dibina. Itulah versi yang disimpan oleh service worker.

Sistem pengendalian · Kejuruteraan prestasi · Perkakasan · Laporan Teknikalditerbitkan 11 Ogos 2026 · rekod dikemas kini sehingga 3 Sep 2026

Ringkasan eksekutif · taklimat satu halaman

Swap ialah keadilan tuntutan semula, bukan memori kecemasan

Lima platform, satu mekanisme — dengan satu pengecualian. Memori anonim — segala yang diperuntukkan oleh sesuatu proses — ialah satu-satunya kelas halaman yang tidak boleh dituntut semula oleh kernel tanpa tempat untuk meletakkannya. Jadi sistem tanpa swap bukannya menghapuskan tekanan memori; ia mengalihkan kesemuanya ke cache halaman dan kod boleh laku, yang kemudiannya dibaca semula daripada cakera berulang-ulang kali. Windows, macOS dan Android kini menjawabnya dengan cara yang sama: mampatkan dalam RAM dahulu, dan sentuh storan kekal hanya apabila pemampatan sudah habis. Windows menamakannya Memory Compression, macOS pula compressor pager, Android menamakannya ZRAM — dan desktop Linux yang mengaktifkan ZRAM turut berbuat demikian. Dokumentasi semasa Red Hat Enterprise Linux untuk mencipta swap pula tidak menyebut sebarang langkah pemampatan: hanya partisyen atau fail, tiada yang lain. Pertukaran itu, di mana sahaja pemampatan berlaku, sentiasa satu yang sama: kapasiti yang dibeli dengan kitaran CPU. Apa yang masih memisahkan kelima-limanya adalah sempit, dan hanya tiga perkara yang penting.

Dalam Angka pemampatan & ketahanan

  • ~40%jejak termampat sesebuah halaman (Windows 10, 2015)
  • 2:1nisbah pemampatan yang diandaikan oleh dokumentasi rasmi kernel Linux semasa menentukan saiz zram
  • 2.4 PBtulisan yang diserap oleh pemacu paling lama bertahan dalam ujian ketahanan SSD 2015
  • 16.4 tahunhayat pemacu 600 TBW yang ditulis 100 GB setiap hari

Rekod, Bergred dokumentasi dahulu, ujian peranti kemudian

GredApaBagaimana ia disemak
DisahkanWindows, macOS dan Android semuanya memampatkan memori tidak aktif dalam RAM sebelum menulis apa-apa ke storan kekal.Dokumentasi semasa Microsoft, Apple dan AOSP sendiri, dibaca terus.
DisahkanStor pemampatan Windows menggunakan format XPRESS biasa — bukan varian XPRESS_HUFF berkod Huffman yang digunakan di tempat lain dalam Windows.Rujukan API Pemampatan Microsoft sendiri menamakan kedua-duanya sebagai format berbeza; satu analisis kod kernel, disemak dengan Windows Internals, menamakan yang mana digunakan oleh pengurus memori.
DisahkanFail swap Btrfs disokong sejak kernel 5.0, tetapi hanya pada sistem fail satu peranti, dengan fail itu sendiri tidak dimampatkan dan tiada jumlah semakan.Dibaca terus dalam dokumentasi rasmi projek Btrfs.
Disahkan — pengecualianPanduan semasa Red Hat Enterprise Linux untuk mencipta swap hanya menyebut partisyen atau fail — langsung tiada langkah pemampatan.Dibaca terus; ketiga-tiga belas subseksyen bab semasa tidak pernah menyebut zram atau zswap.
Disahkan, bergantung perantiTogol “RAM lanjutan” OEM Android yang mana menyentuh storan, dan yang mana hanya mengubah saiz ZRAM.Ujian adb ke atas dua telefon perdana semasa — teks tetapan peranti sendiri tidak menyatakan yang mana ia sebenarnya.

Titik Perubahan kronologi

  1. 2015Satu eksperimen ketahanan jangka panjang tamat: enam SSD pengguna ditulis sehingga gagal; setiap satu melebihi ketahanan tarafnya, yang pertama hanya gagal selepas melepasi 700 TB.
  2. 2015Windows 10 menyisipkan Memory Compression antara aktiviti penghalamanan dengan pagefile, mengurangkan kira-kira separuh tulisan halaman ke cakera.
  3. 2018Hujah keadilan tuntutan semula diterbitkan, membingkai semula swap daripada rizab kecemasan kepada mekanisme rutin.
  4. 2018PSI digabungkan ke dalam kernel Linux, versi 4.20, membolehkan ruang pengguna bertindak atas masa tersekat sebelum pembunuh OOM sempat berjalan.
  5. 2019Btrfs memperoleh sokongan fail swap pada kernel 5.0, dengan kekangan sebenar: fail itu mesti berada pada sistem fail satu peranti dan tidak dimampatkan.
  6. 2019Susunan but APFS macOS mula mewajibkan volum khusus yang tersembunyi untuk menyimpan fail swap, bermula macOS 10.15.
  7. 2020Fedora mula menghantar ZRAM sebagai satu-satunya peranti swap lalai bermula keluaran 33, menggugurkan swap berasaskan cakera walaupun hibernasi sepatutnya masih dapat disokong.
  8. 2021→OEM Android menghantar peluncur “RAM lanjutan” — sesetengahnya hanya mengubah saiz ZRAM, yang lain benar-benar menulis ke storan.
  9. 2025Ujian berasaskan adb ke atas dua telefon perdana semasa akhirnya menyelesaikannya: peluncur satu pengeluar hanya mengubah saiz lapisan termampat, manakala satu lagi benar-benar menulis ke storan.

Apa yang Tiada Tarikh jurang yang jujur

Dua perkara sukar ditentukan tarikhnya. Peluncur “RAM lanjutan” OEM Android tiba telefon demi telefon dan bukan pada satu tarikh pengumuman tunggal, jadi julat di atas ialah bentuk paling jujur untuk menyatakannya. Kod sumber pemampat yang diterbitkan sendiri oleh Apple menamakan gabungan algoritmanya dengan jelas, tetapi versi macOS yang sepadan dengan fail yang diterbitkan itu tidak dapat dipastikan, begitu juga sama ada pemampat yang dihantar sekarang sepadan tepat dengannya.

Mengapa Swap Masih Layak pada Tempatnya prosa di kiri · angka di kanan

Halaman yang disokong fail boleh digugurkan dan dibaca semula; halaman anonim tiada tempat untuk pergi. Tanpa swap ia sekadar tidak boleh dituntut semula, jadi kernel terpaksa mengambil setiap bait yang diperlukannya daripada cache halaman dan teks program sebaliknya. Itulah sebabnya hujah terkuat bagi swap bukan kapasiti tetapi simetri: ia menjadikan kedua-dua kelas halaman sama-sama layak dituntut semula, dan membiarkan kernel mengusir mana-mana yang benar-benar lebih sejuk. Sokongan itu bersifat institusi, bukan retorik — halaman manual systemd-oomd sendiri memetik hujah ini dan menyatakan bahawa swap patut dihidupkan agar ia berfungsi dengan baik, kerana sistem tanpa swap mencapai livelock dengan lebih cepat dan melaparkan pembunuh ruang pengguna yang sepatutnya menyelamatkannya.

  • 2kelas halaman yang sama-sama boleh dituntut semula
  • 4.20+kernel dengan PSI — tekanan kelihatan sebelum pembunuh OOM

Hanya Tiga Paksi yang Penting selebihnya hanyalah perincian

PaksiSoalan yang diajukannyaMengapa ia menentukan reka bentuk
Lapisan kekalAdakah swap yang disokong storan wujud sama sekali?Sesetengah pelaksanaan Android hanya mengubah saiz ZRAM — tiada lapisan kedua untuk dilimpahi.
HibernasiBolehkah lapisan itu menyimpan imej suspend-to-disk?Satu-satunya garis pemisah fungsian yang tegas: lapisan termampat dalam RAM dikosongkan ketika but, jadi ia tidak akan mampu.
Jangkauan operatorBerapa banyak jentera yang didedahkan?Windows dan macOS pada dasarnya automatik; Linux mendedahkan tombolnya; Android mendedahkan satu peluncur.

Kesimpulannya

Melumpuhkan swap tidak mengelakkan I/O cakera di bawah tekanan memori — ia memindahkan thrashing itu daripada halaman anonim kepada cache halaman dan teks program, yang biasanya lebih teruk.

Bingkai semula

Kedalaman swap yang berterusan ialah isyarat saiz, bukan masalah penalaan. Penyelesaiannya ialah lebih banyak RAM, bukan lebih banyak swap.

Dua Lapisan, Lima Nama bentuk yang menjadi titik pertemuan semua

  • Lapisan satu · dalam RAM

    Lapisan Termampat

    CPU dibelanjakan untuk membeli kapasiti

    • Windows Memory Compression — format XPRESS biasa (bukan Huffman), ke dalam stor yang disimpan di dalam proses System.
    • macOS compressor pager — WKdm; itulah yang membolehkan Apple menghantar konfigurasi RAM yang lebih rendah.
    • Linux ZRAM / zswap — zstd, lzo atau lz4, lazimnya sekitar 3:1.
    • Android ZRAM — sentiasa barisan pertahanan pertama, sebelum sebarang storan disentuh.
  • Lapisan dua · pada storan

    Lapisan Kekal

    dicapai hanya apabila pemampatan sudah habis

    • Windows pagefile.sys; swapfile.sys yang berasingan memindahkan keseluruhan set kerja aplikasi yang digantung dalam satu I/O.
    • Partisyen atau fail pada Linux — setara dari segi fungsi; fail menukar satu pemetaan sistem fail dengan kelenturan.
    • Fail swap dinamik macOS pada volum APFS VM khusus, diwajibkan oleh susunan but Apple sendiri sejak macOS 10.15.
    • Android — peluncur “RAM lanjutan” OEM berbeza-beza mengikut pengeluar: sesetengah benar-benar menambah fail swap UFS, yang lain hanya mengubah saiz lapisan termampat dan langsung tidak menyentuh storan.

Platform demi Platform mekanisme sama, pendedahan berbeza

TeknologiBackendHibernasiTermampat
Pagefile Windowsfail pada NTFSimej berasinganya — XPRESS biasa
Swapfile Windowsfail, aplikasi moden sahajatidakya — stor setiap aplikasi
Partisyen Linuxpartisyen mentahyatidak — gandingkan dengan zswap
Swapfile Linuxfail pada sistem failya, dengan ofsettidak — gandingkan dengan zswap
Linux ZRAMperanti blok dalam RAMtidak sekali-kaliya — itulah tujuannya
Swap dinamik macOSvolum VM APFSyaya — WKdm
Android ZRAMperanti blok dalam RAMtidak sekali-kaliya — lz4 / zstd
RAM lanjutan Androidswapfile pada UFStidakmelalui ZRAM dahulu

Di Mana Ia Bertahan, Di Mana Ia Tegang empat dimensi

DimensiBertahanTegang
Hibernasipartisyen atau fail sebenar boleh menyimpan imej itulapisan termampat dalam RAM dikosongkan ketika but — ia tidak akan mampu menggantikannya
Ketahanan flashenam SSD pengguna semuanya melebihi taraf masing-masing, satu sehingga 2.4 PBeMMC gred rendah dan tulisan pelayan yang berterusan masih perlu dijaga
Dakwaan vendormenyiasat sistem fail menyelesaikannya — sesetengahnya memang menambah lapisan sebenar“8 GB + 8 GB = 16 GB” ialah pemasaran, bukan aritmetik
Mencampurkan lapisansetiap lapisan kukuh apabila digunakan bersendirianZRAM di sebelah swap cakera mengundang penyongsangan LRU

Apa yang Sebenarnya Dilakukan oleh Peluncur Android diselesaikan dengan penyiasatan, bukan dengan prosa

KelakuanApa yang berubah apabila anda menggerakkan peluncurKos
Sasaran ZRAM sahajaTiada partisyen dan tiada kawasan swap yang berubah — hanya berapa banyak RAM yang diberikan kepada lapisan termampat.CPU
Swap storan sebenarRuang bebas pada partisyen data berkurang tepat sebanyak jumlah yang diminta, sementara kolam ZRAM kekal tidak berubah.tulisan UFS
Dua nama, satu perkaraPenjenamaan penjadual dan pengoptimuman memori bukan swap; hanya peluncur GB itu sahaja.kekeliruan
Bawah 4 GB RAMBenar-benar berguna — lebih banyak aplikasi latar belakang terus hidup dan bukannya dibunuh lalu dimuatkan semula.berbaloi
12 GB RAM ke atasJarang dicapai dalam penggunaan harian; pengulas melaporkan animasi yang lebih lancar apabila ia dimatikan.bingkai tergugur

Persoalan Ketahanan, Diselesaikan prosa di kiri · angka di kanan

Ketakutan bahawa swap akan menghauskan pemacu ialah bantahan yang paling berkekalan, dan ia sebahagian besarnya sudah terjawab. Dalam eksperimen jangka panjang yang paling terkenal, enam SSD pengguna ditulis sehingga mati: kegagalan pertama datang melepasi 700 TB, dan yang terakhir bertahan menyerap 2.4 PB — setiap pemacu jauh melebihi ketahanan tarafnya. Vendor menyatakan dengan jelas bahawa angka taraf menandakan penghujung waranti, bukan titik kegagalan. Aritmetiknya menjadikannya nyata: pemacu 600 TBW yang ditulis 100 GB setiap hari bertahan lebih daripada enam belas tahun, dan hampir tiada sesiapa menulis sebanyak itu. Dua kes masih wajar dijaga — eMMC gred rendah dalam telefon bajet, dan pelayan di bawah beban tulisan berat yang berterusan, yang sepatutnya ditentukan mengikut taraf tulisan harian dan bukannya kapasiti.

  • 6 / 6pemacu yang melebihi tarafnya
  • 2kes yang masih memerlukan perhatian

Laluan yang Dilalui Sesebuah Halaman enam langkah, mengikut urutan

  1. 01Residendalam RAM
  2. 02Mampatmasih dalam RAM
  3. 03Limpahke cakera atau UFS
  4. 04TekananPSI melaporkan tersekat
  5. 05Bertindak awalOOM ruang pengguna
  6. 06Tambah RAMpenyelesaian sebenar

Tombol yang Benar-benar Wujud Linux · nilai lalai dalam kurungan

TombolApa yang dikawalnyaBila perlu mengubahnya
vm.swappiness (60)Sejauh mana memori anonim sanggup dihantar ke swap berbanding menuntut semula cache halaman.Naikkannya melebihi 100 apabila swap lebih pantas daripada sistem fail, seperti dengan ZRAM.
vm.vfs_cache_pressure (100)Sejauh mana agresifnya cache direktori dan inod dituntut semula berbanding cache halaman.Jarang. Menetapkannya kepada sifar mengundang pembunuh kehabisan memori.
vm.watermark_scale_factor (10)Bila tuntutan semula latar belakang terjaga, dan berapa banyak yang dibebaskannya setelah terjaga.Naikkannya untuk mengekalkan lebih banyak memori bebas pada mesin yang terdedah kepada lonjakan peruntukan mengejut.
ro.lmk.swap_free_low_percentage (10)Peratusan swap bebas yang di bawahnya lmkd menganggap sistem kehabisan swap.Root sahaja, mengikut peranti — pembunuh dalam kernel dibuang sebaik Linux mencapai 4.12.
ro.lmk.psi_complete_stall_ms (700)Milisaat tersekat PSI memori lengkap — semua tugas tersekat serentak — yang mencetuskan pembunuhan tahap kritikal.Ambang lebih rendah (sehingga 70ms) dihantar pada peranti RAM rendah; root sahaja.

Dua Pendirian, Bukan Lima siapa yang menentukan — vendor, atau anda

  • Windows · macOS

    Biarkan Sahaja

    vendor sudah pun memilih

    • Pemampatan dan limpahan bersepadu serta automatik; tiada penalaan yang perlu dibuat.
    • Melumpuhkan fail halaman mengorbankan longgokan ranap dan merendahkan siling komit — pertukaran yang buruk.
    • Pada macOS, melumpuhkan swap bermakna melemahkan perlindungan sistem; jawapannya ialah lebih banyak RAM.
    • Perhatikan penunjuk tekanan, bukan angka swap.
  • Linux · Android

    Pilih dengan Sengaja

    nilai lalai bukanlah keputusannya

    • Tentukan lapisannya dahulu — hibernasi atau tidak — kemudian tetapkan saiznya.
    • Sistem fail copy-on-write mengenakan kekangan sebenar pada fail swap; ikut prosedur mereka sendiri.
    • Gandingkan pemantauan tekanan dengan pembunuh ruang pengguna, jika tidak tiada apa-apa yang bertindak sehingga mesin tersekat.
    • Pada telefon, tafsirkan peluncur itu sebagai dail aplikasi latar belakang yang berkos pada kadar bingkai.

Saranan mengikut platform

  • Windows — biarkan pagefile diurus oleh sistem. Melumpuhkannya demi menuntut semula beberapa GB melepaskan longgokan ranap dan boleh menggoyahkan mesin; kehausan SSD bukan pertimbangan yang nyata.
  • Linux — pilih satu lapisan, bukan kedua-duanya. ZRAM pada separuh RAM dengan zstd untuk desktop; partisyen atau fail sebenar sekurang-kurangnya sebesar RAM jika anda berhibernasi. Jangan sekali-kali menjalankan ZRAM di sebelah swap cakera.
  • Pelayan Linux — gandingkan PSI dengan daemon OOM ruang pengguna. Tanpanya, pembunuh kernel hanya menyala selepas mesin sudah pun tersekat.
  • Android — hidupkannya pada 4 GB, matikannya pada 12 GB. Storan beberapa peringkat magnitud lebih perlahan daripada RAM, dan pada telefon perdana kos yang dilaporkan ialah bingkai tergugur.

Pengecualian, Diulangi semak taburan anda sendiri

Bukan satu konvensyen

“Mampat dahulu, limpah kemudian” menggambarkan Windows, macOS, Android, dan desktop Linux yang mengaktifkan ZRAM. Ia tidak menggambarkan nilai lalai semasa yang didokumenkan oleh Red Hat Enterprise Linux sendiri, iaitu partisyen atau fail tanpa sebarang langkah pemampatan. Pelayan yang dibina daripada nilai lalai itu tiada lapisan termampat untuk bertahan sebelum storan disentuh — sesuatu yang wajar disemak sebelum menganggap corak di atas terpakai kepadanya.

Di mana ia berlabuh

Tanya tiga soalan sahaja: adakah anda memerlukan hibernasi, adakah anda mencampurkan lapisan, dan adakah kedalaman swap memberitahu anda untuk membeli RAM? Selebihnya hanyalah perincian.

Disemak pada 3 Sep 2026 berdasarkan: kernel.org (admin-guide/sysctl/vm, admin-guide/blockdev/zram, accounting/psi) · dokumentasi Red Hat Enterprise Linux 10 · dokumentasi projek Btrfs (btrfs.readthedocs.io) · Microsoft, “Introduction to page files” dan rujukan API Pemampatan · Ethan Creeger / Microsoft, “Windows 10: Memory Compression” (2015) · Apple, Platform Security Guide dan kod sumber XNU yang diterbitkan Apple · Sokongan Apple, panduan Activity Monitor · AOSP, system/memory/lmkd · Chris Down, “In defence of swap” (2018) · systemd-oomd(8) · kernelnewbies.org, Linux 4.20 · Fedora Project Wiki, “Changes/SwapOnZRAM” · Robert Triggs / Android Authority (2025) · Geoff Gasior / The Tech Report, “The SSD Endurance Experiment” (2015), dibaca melalui Internet Archive Wayback Machine

Anda sedang membaca v0001, diterbitkan pada 2026-08-11. Ia telah digantikan — versi semasa berada di v0003.

Versi

Dokumen ini ditulis semula apabila kandungannya perlu berubah. Setiap versi kekal diterbitkan di alamatnya sendiri.

  1. v0003 semasa
  2. v0002 digantikan
  3. v0001 digantikan

Versi semasa juga berada di latest/.