
Jika anda telah menggunakan Windows selama bertahun-tahun, anda mungkin pernah mendengar tentang... Praambil, Superambil atau SysMain Tetapi anda mungkin tidak pasti sepenuhnya apa fungsinya, bagaimana perbezaannya, atau sama ada masuk akal untuk melumpuhkannya, terutamanya sekarang kerana hampir semua orang memasang SSD. Ia adalah salah satu ciri yang ada di sana, berfungsi secara senyap, dan kita hanya ingat apabila cakera keras mula mengeluarkan bunyi atau RAM semakin rendah.
Dalam artikel ini, kami akan menghuraikan dengan jelas Perbezaan antara prefetching dan Superfetch dalam WindowsKami akan menerangkan cara ia berfungsi secara dalaman, hubungannya dengan CPU, kesan sebenar ia terhadap HDD dan SSD, dan bila ia mungkin masuk akal untuk mengubah suainya (atau membiarkannya sahaja). Kami akan menggunakan bahasa yang mudah difahami, tetapi akan mendalami aspek teknikal dan memanfaatkan pengetahuan luas kami daripada dokumentasi dan pengalaman praktikal.
Apakah prapengambilan: perkakasan vs perisian
Istilah Pengambilan awal menerangkan teknik Ini melibatkan membawa data atau arahan ke dalam memori yang lebih pantas sebelum ia diperlukan, dengan matlamat untuk meminimumkan kependaman apabila sistem atau aplikasi akan menggunakannya. Konsep ini wujud pada kedua-dua peringkat perisian (sistem pengendalian, pengkompil) dan peringkat perkakasan (pemproses).
Apabila kita bercakap tentang pengambilan awal perisian, kita merujuk kepada mekanisme yang dilaksanakan dalam sistem pengendalian atau dalam pengkompilyang menganalisis corak akses dan menyediakan data terlebih dahulu. Satu contoh tipikal ialah penggunaan fungsi seperti __builtin_prefetch dalam pengkompil seperti GCC, yang memasukkan arahan khas ke dalam binari supaya pemproses meminta data daripada memori sebelum ia memerlukannya.
Dari segi perkakasan, prapengambilan dilaksanakan oleh CPU menggunakan unit khusus yang memantau akses memori dan mereka cuba menjangka. Dalam seni bina x86, sebagai contoh, terdapat arahan khusus seperti PREFETCH Teknik-teknik ini membolehkan CPU membawa talian memori ke dalam cache L1/L2/L3 terlebih dahulu. Keindahan pendekatan ini ialah ia beroperasi secara telus kepada pengguna.
Matlamat umum dalam kedua-dua kes adalah data atau arahan sudah berada dalam ingatan yang sangat pantas apabila ia akan digunakan, supaya Kurangkan masa menunggu disebabkan oleh akses kepada memori utama atau cakeraKonsep umum inilah yang kemudiannya diadaptasi oleh Windows dengan teknologi Prefetch dan Superfetchnya sendiri.
Praambil dalam Windows: apakah itu dan bagaimana ia berfungsi
Dalam ekosistem Windows, Prefetch ialah teknologi yang diperkenalkan dalam Windows XP dan diselenggara dalam versi terkini seperti Windows Vista, Windows 7, Windows 10 dan Windows 11. Ia dilaksanakan dalam kernel Windows NT dan tujuan utamanya adalah untuk mempercepatkan permulaan sistem dan pemuatan awal aplikasi.
Apabila Windows bermula atau apabila anda menjalankan program, sistem Ia merekodkan fail mana yang dibaca dan dalam susunan apa.Dengan maklumat itu, ia menjana fail khas dengan sambungan .pf, yang disimpannya dalam folder C: \ Windows \ praambilSetiap fail boleh laku yang dipantau mempunyai fail praambilnya sendiri, di mana jejak akses yang diperlukan untuk boot lebih pantas pada kali seterusnya disimpan.
Terima kasih kepada fail-fail ini, pada permulaan Windows berikutnya ia boleh susun semula dan himpunkan bacaan cakera Ini mengoptimumkan sistem, menghalangnya daripada melangkau secara rawak pada cakera keras dan mengurangkan masa permulaan sistem dan masa yang diperlukan untuk membuka aplikasi biasa dengan ketara. Ini merupakan faktor utama dalam prestasi Windows XP yang lebih lancar berbanding dengan pendahulunya.
Selain algoritma itu sendiri, terdapat apa yang boleh kita panggil "Perkhidmatan praambil" disepadukan ke dalam sistemyang mengendalikan penangkapan dan penggunaan jejak tersebut. Dari sudut pandangan pengguna, anda tidak akan melihat perkhidmatan dengan nama tersebut dalam konsol Perkhidmatan, tetapi anda akan melihat aktiviti tersebut dengan jelas dalam folder tersebut. Prefetch dengan penciptaan dan pengubahsuaian fail .pf.
Adalah penting untuk memahami bahawa Prefetch dalam Windows berfungsi pada peringkat sistem fail: Ia bukan sekadar cache RAM yang mudahtetapi sebaliknya satu mekanisme yang menentukan fail mana yang hendak dibaca, dalam susunan dan pada masa yang mana, sebagai persediaan untuk permulaan atau pelaksanaan aplikasi berikutnya.
Folder praambil dan fail .pf: kandungannya dan kegunaannya
Folder yang terkenal C:\Windows\Prefetch ialah jantung yang boleh dilihat sistem Prefetch dalam Windows. Di dalam direktori tersebut disimpan fail .pf yang mewakili jejak beban setiap aplikasi atau komponen sistem yang tertakluk kepada proses pengoptimuman ini.
Setiap kali anda menjalankan program, Windows mungkin menjana atau mengemas kini fail .pf dengan nama aplikasi dan pengecam (contohnya, FIREFOX.EXE-24B8FB1A.pf). Fail ini merangkumi data seperti fail yang diakses semasa permulaan, laluan dalamannya (contohnya, laluan seperti \DEVICE\HARDDISKVOLUME1\WINDOWS\SYSTEM32\KERNEL32.DLL) dan metadata seperti bilangan pelaksanaan atau masa kali terakhir ia dimulakan.
Dari sudut pandangan pentadbiran dan forensik komputer, fail-fail ini sangat berguna kerana ia membenarkan pembinaan semula corak penggunaanaplikasi yang telah dijalankan, berapa kali, pada masa apa, dan juga pustaka atau fail tertentu yang dimuatkan semasa permulaan. Alatan seperti WinPrefetchView, Penghurai Prefetch, Penganalisis Fail Windows atau alat prefetch Ia membolehkan anda membuka dan menganalisis fail .pf tersebut secara terperinci.
Terdapat had dalaman pada bilangan entri yang disimpan dalam direktori Prefetch: Windows biasanya mengekalkan maksimum 128 jejakIni bermakna, dengan penggunaan sistem yang berterusan, aplikasi yang kurang digunakan atau yang lebih lama akan dimansuhkan secara berperingkat untuk memberi ruang kepada aplikasi yang paling relevan mengikut corak semasa.
Ramai pengguna tidak tahu bahawa folder ini wujud, yang menjadikan persekitaran dunia sebenar... Ia biasanya penuh dengan maklumat berguna.Itulah sebabnya banyak suit "pembersihan privasi" atau "pengoptimuman" menyertakan pilihan untuk mengosongkan folder Prefetch, yang boleh memadamkan jejak berharga untuk analisis forensik dan, sekurang-kurangnya buat sementara waktu, menetapkan semula sebahagian pembelajaran Windows.
Perbezaan antara Prefetch dan Superfetch (SysMain)
Dengan ketibaan Windows Vista, Microsoft telah menambah komponen kedua yang dipanggil Super ambil (dinamakan semula kepada sysmain (sejak Windows 10 versi 1809), yang sering dikelirukan dengan Prefetch, walaupun fungsinya agak berbeza. Kedua-duanya adalah sebahagian daripada Pengurusan pemuatan memori dan aplikasi lanjutan dalam Windowstetapi mereka menangani masalah yang berbeza.
Di satu pihak, Prefetch berkaitan dengan pengoptimuman corak bacaan daripada cakera Semasa permulaan sistem dan pemuatan aplikasi awal, sistem menggunakan fail .pf sebagai panduan. Ia memberi tumpuan kepada apa yang dibaca daripada cakera dan dalam susunannya, bukan pada memastikan apa-apa yang panas dalam RAM melebihi tingkah laku penyimpanan fail biasa.
Superfetch, sebaliknya, ialah perkhidmatan yang berjalan di latar belakang dan misi utamanya ialah jangkakan aplikasi yang mungkin anda gunakan dan pramuat datanya ke dalam RAM. Apa yang dilakukannya ialah memerhatikan tabiat pengguna dari semasa ke semasa (program mana yang mereka buka, pada masa apa, berapa kerap) dan, berdasarkan itu, menyimpan aplikasi yang paling banyak digunakan dalam memori supaya ia dibuka hampir serta-merta.
Walaupun Prefetch terutamanya menguruskan jejak cakera dan penjadualan bacaanSuperfetch bertindak sebagai seorang "pelayan" RAMmengisinya dengan apa yang paling mungkin anda perlukan. Pada mesin dengan memori yang mencukupi, ini adalah satu kelebihan kerana RAM kosong yang tidak digunakan, dalam praktiknya, adalah RAM yang terbuang.
Penting untuk diingat bahawa Superfetch/SysMain telah mengubah tingkah lakunya dengan setiap versi Windows, melaraskan dengan lebih baik bila dan bagaimana ia pramuat data, terutamanya memandangkan penggunaan SSD telah menjadi standard. Walaupun begitu, masih terdapat senario di mana Kelebihan atau kekurangan Superfetch Ia banyak bergantung pada jumlah RAM dan jenis storan yang anda miliki.
Superfetch/SysMain: impak sebenar pada HDD dan SSD
Superfetch pada mulanya direka bentuk dengan mengambil kira pasukan. pemacu keras mekanikal (HDD) yang agak perlahandi mana masa carian dan akses adalah tinggi. Dalam konteks ini, adalah sangat masuk akal bagi Windows untuk cuba menjangka perkara ini dengan mengisi RAM dengan data daripada aplikasi yang kerap digunakan supaya ia tidak perlu membacanya dari cakera setiap kali.
Pada HDD, masa akses rawak adalah jauh lebih tinggi daripada pada SSD, jadi apa-apa sahaja yang kurangkan bacaan rawak atau akses kumpulan Ini biasanya diterjemahkan kepada peningkatan kelajuan yang ketara. Itulah sebabnya ramai panduan lama mengesyorkan agar Prefetch dan Superfetch didayakan pada sistem dengan cakera keras mekanikal.
Dengan penggunaan pemacu SSD pengguna yang meluas, yang kelajuan baca rawaknya jauh lebih baik, Kesan positif Superfetch berkurangan dengan ketaraMasa pemuatan aplikasi daripada SSD sudah sangat rendah, jadi pengekalan perkhidmatan yang menyusun semula dan memuatkan data ke dalam RAM boleh menjadi tidak relevan dari segi penambahbaikan, atau malah tidak produktif dalam senario tertentu, dengan menggunakan memori dan menjana I/O tambahan.
Malah, ramai pengguna dengan SSD dan RAM yang sedikit telah memerhatikan bahawa SysMain boleh mencetuskan penggunaan cakera atau memori Dalam keadaan tertentu, terutamanya pada perkakasan yang lebih lama atau kurang berkuasa, ia telah dilumpuhkan untuk mencari sistem yang lebih stabil dan boleh diramal, walaupun beberapa "jangkaan" dalam pemuatan program hilang.
Microsoft, bagi pihaknya, telah memperhalusi tingkah laku perkhidmatan dalam versi Windows 10 dan 11 terkini supaya kurang agresif pada sistem dengan SSDWalau bagaimanapun, itu tidak bermakna bahawa dalam sesetengah komputer tertentu pengguna mungkin memutuskan untuk mematikannya jika mereka mengesan lonjakan aktiviti yang tidak wajar atau haus cakera yang mereka anggap tidak perlu.
Pengambilan awal CPU: pengambilan awal dan jenis cache
Selain Windows, istilah prefetching juga digunakan untuk menggambarkan mekanisme dalaman CPU moden bertujuan untuk mengurangkan penalti yang berkaitan dengan mengakses memori yang perlahan. Dalam kes ini, kita bukan lagi bercakap tentang fail atau folder .pf dalam sistem pengendalian, tetapi tentang logik perkakasan dalam pemproses.
Mikroarkitektur semasa menggabungkan prefetcher cache yang menganalisis corak akses ke ingatan (kedua-dua data dan arahan) dan cuba membawa ke dalam cache baris yang belum diminta secara rasmi, tetapi yang, berdasarkan corak yang diperhatikan, kemungkinan besar akan diperlukan seterusnya.
Secara umumnya, kita boleh membezakan dua jenis pengambilan awal peringkat CPU: pengambilan data awal dan pengambilan arahan awalYang pertama memberi tumpuan kepada operan yang akan dimanipulasi oleh arahan (struktur data dalam memori, penimbal, dll.), manakala yang kedua membawa arahan awal yang belum dilaksanakan, memberi makan kepada giliran arahan CPU dan mengurangkan kelewatan disebabkan kekurangan kod yang disimpan dalam cache.
Teknik-teknik seperti ini telah wujud selama beberapa dekad. Pemproses seperti Intel 8086 dengan ekor 6-baitnya Keluarga Motorola 68000, dengan cache 4-baitnya, menggunakan bentuk awal pengambilan arahan. Hari ini, mana-mana pemproses desktop atau komputer riba berprestasi tinggi merangkumi pelbagai peringkat cache. algoritma praambilan lanjutan mampu mengenali corak berjujukan, langkah, corak tidak langsung, dsb.
Dalam sesetengah BIOS/UEFI, anda akan menemui pilihan seperti Praambil CPU, Praambil Perkakasan, Praambil Baris Cache Bersebelahan atau yang serupa, yang membolehkan anda mengaktifkan atau menyahaktifkan mekanisme ini. Secara amnya, tidak digalakkan untuk mengubah suai mekanisme tersebut melainkan anda menyelesaikan masalah yang sangat spesifik, kerana ia direka bentuk untuk meningkatkan prestasi keseluruhan hampir semua beban kerja.
Bagaimana untuk mendayakan atau melumpuhkan Prefetch dalam Windows
Tingkah laku praambil dalam Windows dikawal melalui Pendaftaran sistem pada kekunci tertentuIni membolehkan anda melaraskan sama ada sistem menggunakan praambil untuk permulaan, pada aplikasi atau kedua-duanya, dan juga melumpuhkannya sepenuhnya jika dikehendaki.
Konfigurasi utama terletak di laluan pendaftaran HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Pengurus Sesi \ Pengurusan Memori \ PrefetchParametersDalam kekunci ini terdapat nilai yang dipanggil DayakanPrefetcher (atau EnablePrefetch dalam beberapa rujukan) yang menerima beberapa nilai angka.
Nilai tipikal yang boleh diambil oleh parameter ini adalah seperti berikut: 0 untuk melumpuhkan Praambil sepenuhnya, 1 untuk mendayakan hanya pramuat yang berkaitan dengan permulaan aplikasi, 2 untuk menumpukan pada permulaan sistem dan 3 untuk mengaktifkan kedua-dua pengoptimuman permulaan sistem dan aplikasi, yang terakhir ialah nilai yang disyorkan dan yang biasanya datang secara lalai.
Untuk mengubah suai tingkah laku ini, anda perlu membuka Editor Pendaftaran Windows (regedit)Navigasi ke laluan yang dinyatakan dan ubah nilai EnablePrefetcher. Adalah penting untuk melakukan ini dengan berhati-hati dan, jika boleh, dengan sandaran pendaftaran, kerana perubahan yang salah boleh menyebabkan masalah prestasi atau kestabilan.
Selain mengubah nilai konfigurasi, sesetengah pengguna memilih untuk kosongkan kandungan folder C:\Windows\Prefetch secara berkala untuk "membersihkan" sistem. Walau bagaimanapun, Windows sudah pun mengurus direktori ini secara automatik, mengalih keluar jejak lama atau jarang digunakan, jadi kecuali dalam kes yang sangat spesifik (contohnya, ujian prestasi atau persekitaran yang sangat spesifik) ia biasanya tidak perlu dan tidak bermanfaat.
Cara mendayakan atau melumpuhkan Superfetch (SysMain) dalam Windows 10 dan yang lebih baharu
Tidak seperti Prefetch, yang sebahagian besarnya dikawal melalui pendaftaran, Superfetch/SysMain diuruskan terutamanya sebagai perkhidmatan WindowsIni bermakna ia boleh diaktifkan atau dinyahdayakan seperti perkhidmatan sistem lain daripada konsol perkhidmatan.
Dalam versi Windows 10 sebelum 1809, perkhidmatan ini dipanggil Super ambilDari kemas kini itu dan seterusnya, Microsoft mula menggunakan nama itu sysmain untuk komponen yang sama, walaupun fungsinya tetap sama: untuk memantau corak penggunaan dan pramuat aplikasi ke dalam memori untuk mempercepatkan tindak balasnya.
Untuk memanipulasi perkhidmatan ini, anda perlu membuka tetingkap pelaksanaan dengan Win + R dan taip services.mscTekan Enter dan, dalam tetingkap Perkhidmatan, cari entri yang sepadan (Superfetch atau SysMain bergantung pada versi sistem anda). Klik dua kali padanya akan membuka tetingkap sifat perkhidmatan.
Dalam sifat-sifat tersebut, anda boleh mengubahnya Jenis mula Didayakan, Manual atau Dinyahdayakan. Jika anda memilih Dinyahdayakan dan menggunakan perubahan, perkhidmatan akan berhenti berjalan dan Windows akan berhenti memuatkan aplikasi secara agresif ke dalam RAM, walaupun sistem masih akan menggunakan cache fail asasnya dan pengoptimuman dalaman yang lain.
Ramai pengguna dengan komputer dengan HDD memilih untuk Pastikan Superfetch/SysMain aktif kerana ia membantu sistem berasa lebih responsif, manakala mereka yang menggunakan SSD, terutamanya pada komputer dengan RAM yang sedikit, sering melumpuhkannya untuk mengelakkan lonjakan I/O yang mereka anggap tidak perlu memandangkan SSD sudah cukup pantas untuk kegunaan biasa.
Prefetch dan Superfetch pada HDD vs SSD: bilakah masa yang sesuai untuk melumpuhkannya?
Salah satu soalan yang paling biasa ialah sama ada Adalah berbaloi untuk melumpuhkan Prefetch dan Superfetch Apabila sistem pengendalian dipasang pada SSD dan bukannya cakera keras mekanikal tradisional, tindak balasnya tidak sama untuk kedua-dua komponen.
Dalam kes Prefetch, walaupun dengan SSD, Windows terus mendapat sedikit manfaat daripada pengoptimuman baca.Ini terutamanya benar untuk sistem dengan perkakasan sederhana atau beban kerja yang pelbagai. Walaupun penambahbaikan tidak sedramatik HDD, kesan negatif membiarkannya diaktifkan biasanya kecil, jadi dalam kebanyakan situasi, tidak digalakkan untuk melumpuhkannya melainkan terdapat sebab yang sangat khusus.
Dengan Superfetch/SysMain, ceritanya sedikit berubah: pada sistem dengan SSD dan RAM yang mencukupi, Manfaat memuatkan aplikasi ke dalam memori adalah kurang Kerana masa baca daripada SSD sudah sangat singkat. Tambahan pula, jika perkhidmatan tersebut menjana banyak aktiviti cakera atau memori, pada sesetengah mesin ia boleh menjadi lebih menjadi penghalang daripada bantuan, terutamanya jika aplikasi intensif sumber digunakan atau terdapat sedikit RAM kosong.
Sebaliknya, perlu diingatkan bahawa kedua-dua Prefetch dan Superfetch Ia meningkatkan sedikit bilangan penulisan dan pembacaan cakera.Ini tidak begitu kritikal dalam HDD, tetapi ia mempengaruhi haus jangka panjang dalam SSD, walaupun SSD moden pada masa kini mempunyai rintangan yang lebih daripada cukup untuk kegunaan harian, walaupun dengan perkhidmatan ini aktif.
Akhirnya, keputusan biasanya bergantung pada pengujian pada peralatan anda sendiri: Jika anda perasan lonjakan cakera atau masalah prestasi yang jelas berkaitan dengan SysMainMungkin masuk akal untuk melumpuhkannya dan melihat sama ada sistem berfungsi dengan lebih baik. Walau bagaimanapun, dengan Prefetch, biasanya lebih baik membiarkannya pada nilai lalainya (3) melainkan anda mencari tingkah laku yang sangat spesifik atau menyahpepijat sesuatu yang spesifik.
Had, masalah dan pandangan kritikal Prefetch dan Superfetch
Walaupun di atas kertas Prefetch dan Superfetch adalah mekanisme pintar untuk mempercepatkan WindowsDalam praktiknya, mereka bukan tanpa masalah dan keputusan reka bentuk yang meragukan. Salah satu perkara yang paling dikritik ialah kekurangan pembezaan dalam apa yang telah diambil terlebih dahulu atau dipantau.
Contohnya, sistem ini boleh menjana jejak dan pengambilan awal walaupun dari fail boleh laku yang hanya digunakan sekali sahajaIni berlaku dengan banyak pemasang setup.exe yang anda muat turun, jalankan, dan kemudian padam atau alihkan. Dalam situasi ini, usaha yang dilaburkan dalam mencipta jejak dan memeliharanya dalam Prefetch hampir tidak memberi manfaat, kerana fail tersebut tidak akan digunakan lagi dalam kebanyakan kes.
Satu lagi masalah yang dinyatakan ialah, apabila program dikemas kini dengan kerap, Prefetch dan Superfetch boleh mengumpulkan entri daripada versi lama. Aplikasi yang tidak lagi dipasang atau telah bertukar lokasi disimpan dalam senarai mereka, mengekalkan rujukan yang tidak lagi mempunyai sebarang tujuan. Ini menyumbang, walaupun sedikit, kepada sedikit kekacauan dan memenuhi ruang dengan data yang tidak akan berguna sepenuhnya.
Dalam konteks ini, sesetengah pengguna lanjutan memilih untuk menggunakan penyahpasang yang lebih canggihContohnya, alat sumber terbuka yang, selain menyahpasang perisian, mengimbas pendaftaran, sistem fail dan juga memadam entri Prefetch yang berkaitan dengan aplikasi tersebut, cuba menjadikan sistem bersih daripada kesan.
Akhirnya, ada yang mengkritik hakikat bahawa, meskipun masa telah berlalu sejak pelancaran Windows 10 pada tahun 2015, Fungsi-fungsi ini tidak berkembang sebanyak yang dijangkakan.Walaupun Microsoft telah menumpukan usahanya untuk mengintegrasikan pengiklanan, komponen web, widget, aplikasi prapasang dan pelbagai panel tetapan yang bertindih, dari perspektif yang lebih kritikal ini, reka bentuk Prefetch/Superfetch nampaknya telah terbantut berbanding alternatif yang lebih ringan yang ditawarkan oleh perisian pihak ketiga untuk carian, pengindeksan dan pengurusan prestasi.
Memahami cara Prefetch, Superfetch/SysMain dan prefetching CPU berfungsi membolehkan membuat keputusan yang lebih termaklum Berkenaan konfigurasi mereka, nilaikan bilakah ia berbaloi untuk memastikan ia aktif dan bilakah ia mungkin berfaedah untuk menyahaktifkannya, dan, secara kebetulan, manfaatkan jejak mereka untuk tugasan analisis prestasi atau untuk membina semula aktiviti sistem dalam penyiasatan forensik.
