
Jika Anda telah menggunakan Windows selama bertahun-tahun, Anda mungkin pernah mendengar tentang... Prefetch, Superfetch atau SysMain Namun, Anda mungkin tidak sepenuhnya yakin apa sebenarnya fungsi fitur-fitur tersebut, bagaimana perbedaannya, atau apakah masuk akal untuk menonaktifkannya, terutama sekarang hampir semua orang memasang SSD. Fitur-fitur tersebut adalah salah satu fitur yang ada, bekerja secara diam-diam, dan kita hanya mengingatnya ketika hard drive mulai berisik atau RAM hampir habis.
Dalam artikel ini kita akan menguraikan secara rinci Perbedaan antara prefetching dan Superfetch di WindowsKami akan menjelaskan cara kerjanya secara internal, hubungannya dengan CPU, dampaknya yang sebenarnya pada HDD dan SSD, dan kapan sebaiknya memodifikasinya (atau membiarkannya apa adanya). Kami akan menggunakan bahasa yang mudah dipahami, tetapi akan membahas aspek teknis dan memanfaatkan pengetahuan luas kami dari dokumentasi dan pengalaman praktis.
Apa itu prefetching: perangkat keras vs perangkat lunak
Istilah Prefetching menjelaskan sebuah teknik. Hal ini melibatkan pengiriman data atau instruksi ke memori yang lebih cepat sebelum dibutuhkan, dengan tujuan meminimalkan latensi ketika sistem atau aplikasi akan menggunakannya. Konsep ini ada di tingkat perangkat lunak (sistem operasi, kompiler) dan tingkat perangkat keras (prosesor).
Ketika kita berbicara tentang prefetching perangkat lunak, yang kita maksud adalah mekanisme yang diimplementasikan dalam sistem operasi atau dalam kompileryang menganalisis pola akses dan mempersiapkan data terlebih dahulu. Contoh tipikalnya adalah penggunaan fungsi seperti __builtin_prefetch di compiler seperti GCCyang menyisipkan instruksi khusus ke dalam biner sehingga prosesor meminta data dari memori sebelum membutuhkannya.
Dari sisi perangkat keras, prefetching diimplementasikan oleh CPU menggunakan unit khusus yang memantau akses memori dan mereka mencoba untuk mengantisipasi. Pada arsitektur x86, misalnya, terdapat instruksi khusus seperti PRESETCH Teknik-teknik ini memungkinkan CPU untuk memasukkan baris memori ke dalam cache L1/L2/L3 terlebih dahulu. Keunggulan pendekatan ini adalah operasinya transparan bagi pengguna.
Tujuan umum dalam kedua kasus tersebut adalah agar data atau instruksi sudah berada di memori yang sangat cepat saat akan digunakan, sehingga Minimalkan waktu tunggu akibat akses ke memori utama atau disk.Konsep umum inilah yang kemudian diadaptasi oleh Windows dengan teknologi Prefetch dan Superfetch miliknya sendiri.
Prefetch di Windows: apa itu dan bagaimana cara kerjanya
Dalam ekosistem Windows, Prefetch adalah teknologi yang diperkenalkan di Windows XP. dan dipertahankan dalam versi-versi selanjutnya seperti Windows Vista, Windows 7, Windows 10, dan Windows 11. Fitur ini diimplementasikan dalam kernel Windows NT dan tujuan utamanya adalah untuk mempercepat proses startup sistem dan pemuatan awal aplikasi.
Saat Windows dimulai atau saat Anda menjalankan program, sistem Sistem ini mencatat file mana yang dibaca dan dalam urutan apa.Dengan informasi tersebut, ia membuat file khusus dengan ekstensi .pf, yang disimpan di dalam folder tersebut. C:\Windows\Ambil duluSetiap program yang dipantau memiliki file prefetch-nya sendiri, tempat jejak akses yang dibutuhkan untuk mempercepat proses booting di lain waktu disimpan.
Berkat file-file ini, pada saat Windows dijalankan berikutnya, maka dapat menyusun ulang dan mengelompokkan pembacaan disk Hal ini mengoptimalkan sistem, mencegahnya berpindah-pindah secara acak di hard drive dan secara signifikan mengurangi waktu startup sistem serta waktu yang dibutuhkan untuk membuka aplikasi umum. Ini merupakan faktor kunci dalam kinerja Windows XP yang lebih lancar dibandingkan pendahulunya.
Selain algoritma itu sendiri, ada yang bisa kita sebut “Layanan prefetch” terintegrasi ke dalam sistemyang menangani pengambilan dan penggunaan jejak tersebut. Dari sudut pandang pengguna, Anda tidak akan melihat layanan dengan nama tersebut di konsol Layanan, tetapi Anda akan dengan jelas melihat aktivitas di folder tersebut. prefetch dengan pembuatan dan modifikasi file .pf.
Penting untuk dipahami bahwa Prefetch di Windows bekerja pada tingkat sistem file: Ini bukan sekadar cache RAM sederhana.melainkan sebuah mekanisme yang menentukan file mana yang akan dibaca, dalam urutan apa, dan pada waktu apa, sebagai persiapan untuk memulai atau menjalankan aplikasi selanjutnya.
Folder prefetch dan file .pf: apa isinya dan untuk apa digunakan
Folder terkenal itu C:\Windows\Prefetch adalah jantung yang terlihat. dari sistem Prefetch di Windows. Di dalam direktori tersebut tersimpan file .pf yang mewakili jejak beban setiap aplikasi atau komponen sistem yang dikenai proses optimasi ini.
Setiap kali Anda menjalankan program, Windows dapat membuat atau memperbarui data. sebuah file .pf yang berisi nama aplikasi dan sebuah pengenal (misalnya, FIREFOX.EXE-24B8FB1A.pf). File ini berisi data seperti file yang diakses selama inisialisasi, jalur internalnya (misalnya, jalur seperti \DEVICE\HARDDISKVOLUME1\WINDOWS\SYSTEM32\KERNEL32.DLL) dan metadata seperti jumlah eksekusi atau waktu terakhir kali dijalankan.
Dari sudut pandang administrasi dan forensik komputer, file-file ini sangat berguna karena Hal ini memungkinkan rekonstruksi pola penggunaan.Aplikasi mana yang telah dijalankan, berapa kali, pada jam berapa, dan bahkan pustaka atau file spesifik mana yang dimuat saat startup. Alat-alat seperti WinPrefetchView, Prefetch Parser, Windows File Analyzer atau prefetch-tool Mereka memungkinkan Anda untuk membuka dan menganalisis file .pf tersebut secara detail.
Terdapat batasan internal pada jumlah entri yang disimpan dalam direktori Prefetch: Windows biasanya menyimpan maksimal 128 jejak.Ini berarti bahwa, dengan penggunaan sistem yang berkelanjutan, aplikasi yang kurang digunakan atau lebih lama secara bertahap akan dihapus untuk memberi ruang bagi aplikasi yang paling relevan sesuai dengan pola saat ini.
Banyak pengguna tidak menyadari keberadaan folder ini, yang membuat lingkungan dunia nyata... Biasanya, isinya penuh dengan informasi yang bermanfaat.Itulah mengapa banyak perangkat lunak "pembersihan privasi" atau "optimasi" menyertakan opsi untuk mengosongkan folder Prefetch, yang dapat menghapus jejak berharga untuk analisis forensik dan, setidaknya untuk sementara, mengatur ulang beberapa pembelajaran Windows.
Perbedaan antara Prefetch dan Superfetch (SysMain)
Dengan hadirnya Windows Vista, Microsoft menambahkan komponen kedua yang disebut SuperFetch (diganti namanya menjadi Sistem Utama (sejak Windows 10 versi 1809), yang sering disalahartikan dengan Prefetch, meskipun fungsinya agak berbeda. Keduanya merupakan bagian dari Manajemen memori dan pemuatan aplikasi tingkat lanjut di Windowstetapi mereka membahas masalah yang berbeda.
Di satu sisi, Prefetch berkaitan dengan optimasi. pola baca dari disk Selama proses startup sistem dan pemuatan aplikasi awal, sistem menggunakan file .pf sebagai panduan. Sistem berfokus pada apa yang dibaca dari disk dan dalam urutan apa, bukan pada penyimpanan data yang sering diakses di RAM di luar perilaku caching file normal.
Superfetch, di sisi lain, adalah layanan yang berjalan di latar belakang dan misi utamanya adalah antisipasi aplikasi yang kemungkinan akan Anda gunakan dan memuat datanya terlebih dahulu ke dalam RAM. Cara kerjanya adalah dengan mengamati kebiasaan pengguna dari waktu ke waktu (program apa yang mereka buka, pada jam berapa, seberapa sering) dan, berdasarkan itu, menyimpan aplikasi yang paling sering digunakan di memori sehingga aplikasi tersebut terbuka hampir secara instan.
Meskipun Prefetch terutama mengelola pelacakan disk dan penjadwalan bacaSuperfetch bertindak sebagai seorang “pelayan” RAMMengisinya dengan hal-hal yang paling mungkin Anda butuhkan. Pada mesin dengan memori yang cukup, ini merupakan keuntungan karena RAM kosong yang tidak terpakai, dalam praktiknya, adalah RAM yang terbuang.
Penting untuk diingat bahwa Superfetch/SysMain telah mengubah perilakunya di setiap versi Windows, menyesuaikan diri dengan lebih baik kapan dan bagaimana ia memuat data terlebih dahulu, terutama karena penggunaan SSD telah distandarisasi. Meskipun demikian, masih ada skenario di mana Keuntungan atau kerugian dari Superfetch Hal itu sangat bergantung pada jumlah RAM dan jenis penyimpanan yang Anda miliki.
Superfetch/SysMain: dampak nyata pada HDD dan SSD
Superfetch awalnya dirancang dengan mempertimbangkan tim. hard drive (HDD) mekanis yang relatif lambatdi mana waktu pencarian dan akses tinggi. Dalam konteks ini, sangat masuk akal bagi Windows untuk mencoba mengantisipasi hal ini dengan mengisi RAM dengan data dari aplikasi yang sering digunakan sehingga tidak perlu membacanya dari disk setiap kali.
Pada HDD, waktu akses acak jauh lebih tinggi daripada pada SSD, jadi apa pun yang mengurangi pembacaan acak atau akses grup Hal ini biasanya menghasilkan peningkatan yang signifikan dalam kecepatan yang dirasakan. Itulah mengapa banyak panduan lama merekomendasikan untuk tetap mengaktifkan Prefetch dan Superfetch pada sistem dengan hard drive mekanis.
Dengan semakin meluasnya penggunaan drive SSD konsumen, yang kecepatan baca acaknya jauh lebih unggul, Dampak positif Superfetch berkurang secara signifikan.Waktu pemuatan aplikasi dari SSD sudah sangat rendah, sehingga mempertahankan layanan yang menyusun ulang dan memuat data ke dalam RAM bisa jadi tidak relevan dalam hal peningkatan, atau bahkan kontraproduktif dalam skenario tertentu, karena mengonsumsi memori dan menghasilkan I/O tambahan.
Faktanya, banyak pengguna dengan SSD dan RAM terbatas telah mengamati bahwa SysMain dapat memicu penggunaan disk atau memori. Dalam keadaan tertentu, terutama pada perangkat keras yang lebih tua atau kurang bertenaga, fitur ini telah dinonaktifkan untuk mencari sistem yang lebih stabil dan dapat diprediksi, meskipun beberapa "antisipasi" dalam pemuatan program hilang.
Microsoft, di pihak lain, telah menyempurnakan perilaku layanan tersebut dalam versi Windows 10 dan 11 terbaru sehingga bersikap kurang agresif pada sistem dengan SSDNamun, bukan berarti pada beberapa komputer tertentu pengguna tidak dapat mematikannya jika mendeteksi lonjakan aktivitas atau keausan disk yang tidak wajar dan dianggap tidak perlu.
Prefetching CPU: prefetching cache dan tipenya
Di luar Windows, istilah prefetching juga digunakan untuk menggambarkan mekanisme internal CPU modern Bertujuan untuk mengurangi penalti yang terkait dengan akses ke memori yang lambat. Dalam hal ini, kita tidak lagi berbicara tentang file atau folder .pf di sistem operasi, tetapi tentang logika perangkat keras di dalam prosesor.
Mikroarsitektur saat ini menggabungkan prefetcher cache yang menganalisis pola akses. menyimpan ke memori (baik data maupun instruksi) dan mencoba memasukkan ke dalam cache baris-baris yang belum diminta secara formal, tetapi yang, berdasarkan pola yang diamati, kemungkinan besar akan dibutuhkan selanjutnya.
Secara garis besar, kita dapat membedakan dua jenis prefetching tingkat CPU: pengambilan data awal dan pengambilan instruksi awalYang pertama berfokus pada operan yang akan dimanipulasi oleh instruksi (struktur data dalam memori, buffer, dll.), sedangkan yang kedua memasukkan instruksi yang belum dieksekusi terlebih dahulu, memberi makan antrian instruksi CPU dan mengurangi penundaan karena kurangnya kode yang di-cache.
Teknik-teknik semacam ini telah ada selama beberapa dekade. Prosesor seperti Intel 8086 dengan ekor 6-byte-nya Keluarga Motorola 68000, dengan cache 4-byte-nya, menggunakan bentuk awal prefetching instruksi. Saat ini, setiap prosesor desktop atau laptop berkinerja tinggi menyertakan beberapa tingkat cache. algoritma prefetch tingkat lanjut mampu mengenali pola berurutan, langkah, pola tidak langsung, dll.
Di beberapa BIOS/UEFI, Anda akan menemukan opsi seperti Prefetch CPU, Prefetcher Perangkat Keras, Prefetch Baris Cache yang Berdekatan atau yang serupa, yang memungkinkan Anda untuk mengaktifkan atau menonaktifkan mekanisme ini. Secara umum, tidak disarankan untuk memodifikasinya kecuali Anda sedang mengatasi masalah yang sangat spesifik, karena mekanisme ini dirancang untuk meningkatkan kinerja keseluruhan hampir semua beban kerja.
Cara mengaktifkan atau menonaktifkan Prefetch di Windows
Perilaku prefetch di Windows dikendalikan melalui Registrasi sistem dengan kunci tertentuIni memungkinkan Anda untuk menyesuaikan apakah sistem menerapkan prefetch saat startup, saat aplikasi berjalan, atau keduanya, dan bahkan menonaktifkannya sepenuhnya jika diinginkan.
Konfigurasi utama terletak di jalur pendaftaran. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management \ PrefetchParametersDi dalam kunci ini terdapat sebuah nilai yang disebut AktifkanPrefetcher (atau EnablePrefetch dalam beberapa referensi) yang menerima beberapa nilai numerik.
Nilai-nilai umum yang dapat diambil oleh parameter ini adalah sebagai berikut: 0 untuk menonaktifkan Prefetch Secara keseluruhan, 1 untuk hanya mengaktifkan pra-pemuatan yang terkait dengan peluncuran aplikasi, 2 untuk fokus pada peluncuran sistem, dan 3 untuk mengaktifkan optimasi peluncuran sistem dan aplikasi, yang terakhir merupakan nilai yang direkomendasikan dan biasanya merupakan nilai default.
Untuk mengubah perilaku ini, Anda perlu membuka Editor Registri Windows (regedit)Arahkan ke jalur yang disebutkan dan ubah nilai EnablePrefetcher. Penting untuk melakukan ini dengan hati-hati dan, jika memungkinkan, dengan cadangan registri, karena perubahan yang salah dapat menyebabkan masalah kinerja atau stabilitas.
Selain mengubah nilai konfigurasi, beberapa pengguna memilih untuk Kosongkan isi folder C:\Windows\Prefetch secara berkala. untuk "membersihkan" sistem. Namun, Windows sudah mengelola direktori ini secara otomatis, menghapus jejak lama atau yang jarang digunakan, jadi kecuali dalam kasus yang sangat spesifik (misalnya, pengujian kinerja atau lingkungan yang sangat spesifik) biasanya hal ini tidak diperlukan dan tidak terlalu bermanfaat.
Cara mengaktifkan atau menonaktifkan Superfetch (SysMain) di Windows 10 dan versi yang lebih baru.
Berbeda dengan Prefetch, yang sebagian besar dikendalikan melalui registrasi, Superfetch/SysMain terutama dikelola sebagai layanan Windows.Ini berarti bahwa layanan ini dapat diaktifkan atau dinonaktifkan seperti layanan sistem lainnya dari konsol layanan.
Pada versi Windows 10 sebelum 1809, layanan tersebut bernama SuperFetchSejak pembaruan itu, Microsoft mulai menggunakan nama tersebut. Sistem Utama untuk komponen yang sama, meskipun fungsinya tetap sama: untuk memantau pola penggunaan dan memuat aplikasi ke dalam memori terlebih dahulu untuk mempercepat responsnya.
Untuk memanipulasi layanan ini, Anda perlu membuka jendela eksekusi dengan Tekan Win + R dan ketik services.mscTekan Enter dan, di jendela Layanan, temukan entri yang sesuai (Superfetch atau SysMain tergantung pada versi sistem Anda). Mengklik dua kali akan membuka jendela properti layanan.
Di properti tersebut Anda dapat mengubah Mulai jenis Diaktifkan, Manual, atau Dinonaktifkan. Jika Anda memilih Dinonaktifkan dan menerapkan perubahan, layanan akan berhenti berjalan dan Windows akan berhenti memuat aplikasi secara agresif ke dalam RAM, meskipun sistem masih akan menggunakan cache file dasar dan optimasi internal lainnya.
Banyak pengguna komputer dengan HDD memilih Pertahankan Superfetch/SysMain tetap aktif. karena hal itu membantu sistem terasa lebih responsif, sementara mereka yang menggunakan SSD, terutama pada komputer dengan RAM yang sedikit, sering menonaktifkannya untuk menghindari lonjakan I/O yang mereka anggap tidak perlu karena SSD sudah cukup cepat untuk penggunaan sehari-hari mereka.
Prefetch dan Superfetch pada HDD vs SSD: kapan sebaiknya dinonaktifkan?
Salah satu pertanyaan yang paling umum adalah apakah Sebaiknya nonaktifkan Prefetch dan Superfetch. Ketika sistem operasi diinstal pada SSD, bukan pada hard drive mekanis tradisional, respons yang diterima kedua komponen tersebut tidak identik.
Dalam kasus Prefetch, bahkan dengan SSD, Windows terus mendapatkan manfaat dari optimasi baca.Hal ini terutama berlaku untuk sistem dengan perangkat keras yang sederhana atau beban kerja yang beragam. Meskipun peningkatannya tidak sedramatis HDD, dampak negatif dari membiarkannya tetap aktif biasanya kecil, jadi dalam kebanyakan situasi tidak disarankan untuk menonaktifkannya kecuali ada alasan yang sangat spesifik.
Dengan Superfetch/SysMain, ceritanya sedikit berubah: pada sistem dengan SSD dan RAM yang memadai, Manfaat dari memuat aplikasi ke dalam memori terlebih dahulu lebih sedikit. Karena waktu baca dari SSD sudah sangat singkat. Selain itu, jika layanan tersebut menghasilkan banyak aktivitas disk atau memori, pada beberapa mesin hal itu justru dapat menjadi penghambat daripada bantuan, terutama jika aplikasi yang digunakan membutuhkan banyak sumber daya atau jika RAM yang tersedia terbatas.
Di sisi lain, perlu dicatat bahwa baik Prefetch maupun Superfetch Mereka sedikit meningkatkan jumlah penulisan dan pembacaan disk.Hal ini tidak terlalu kritis pada HDD, tetapi memengaruhi keausan jangka panjang pada SSD, meskipun saat ini SSD modern memiliki ketahanan yang lebih dari cukup untuk penggunaan sehari-hari, bahkan dengan layanan-layanan ini aktif.
Pada akhirnya, keputusan biasanya bergantung pada pengujian di peralatan Anda sendiri: Jika Anda melihat lonjakan penggunaan disk atau masalah kinerja yang jelas terkait dengan SysMainMungkin masuk akal untuk menonaktifkannya dan melihat apakah sistem berperilaku lebih baik. Namun, dengan Prefetch, biasanya lebih baik membiarkannya pada nilai defaultnya (3) kecuali Anda mencari perilaku yang sangat spesifik atau melakukan debugging sesuatu yang spesifik.
Keterbatasan, masalah, dan pandangan kritis terhadap Prefetch dan Superfetch
Meskipun secara teori Prefetch dan Superfetch mekanisme cerdas untuk mempercepat WindowsDalam praktiknya, hal ini bukannya tanpa masalah dan keputusan desain yang patut dipertanyakan. Salah satu poin yang paling banyak dikritik adalah kurangnya diferensiasi dalam hal apa yang diambil terlebih dahulu (prefetched) atau dipantau.
Sebagai contoh, sistem dapat menghasilkan jejak dan pengambilan data awal bahkan dari file yang dapat dieksekusi yang hanya digunakan sekaliHal ini berlaku untuk banyak file instalasi setup.exe yang Anda unduh, jalankan, lalu hapus atau pindahkan. Dalam situasi ini, upaya yang diinvestasikan dalam membuat jejak dan menyimpannya di Prefetch praktis tidak memberikan manfaat, karena file tersebut tidak akan digunakan lagi dalam sebagian besar kasus.
Masalah lain yang dicatat adalah bahwa, ketika program diperbarui secara berkala, Prefetch dan Superfetch dapat mengakumulasi entri dari versi yang lebih lama. Aplikasi yang sudah tidak terpasang atau telah berpindah lokasi tetap dipertahankan dalam daftarnya, dengan tetap menyimpan referensi yang sudah tidak lagi berguna. Hal ini, meskipun sedikit, menambah kekacauan dan memakan ruang dengan data yang tidak akan memiliki kegunaan nyata.
Dalam konteks ini, beberapa pengguna tingkat lanjut memilih untuk menggunakan program penghapus instalasi yang lebih canggihSebagai contoh, alat sumber terbuka yang, selain menghapus instalasi perangkat lunak, memindai registri, sistem file, dan bahkan menghapus entri Prefetch yang terkait dengan aplikasi tersebut, dengan tujuan membuat sistem lebih bersih dari jejak.
Terakhir, sebagian mengkritik fakta bahwa, meskipun waktu telah berlalu sejak peluncuran Windows 10 pada tahun 2015, Fungsi-fungsi ini belum berkembang sebanyak yang mungkin diharapkan.Meskipun Microsoft telah memfokuskan upayanya pada pengintegrasian iklan, komponen web, widget, aplikasi pra-instal, dan beberapa panel pengaturan yang saling tumpang tindih, dari perspektif yang lebih kritis ini, desain Prefetch/Superfetch tampaknya mengalami stagnasi dibandingkan dengan alternatif yang lebih ringan yang ditawarkan oleh perangkat lunak pihak ketiga untuk pencarian, pengindeksan, dan manajemen kinerja.
Memahami cara kerja Prefetch, Superfetch/SysMain, dan CPU prefetching memungkinkan kita untuk membuat keputusan yang lebih tepat Terkait konfigurasinya, pertimbangkan kapan sebaiknya tetap mengaktifkannya dan kapan lebih menguntungkan untuk menonaktifkannya, dan, secara tidak langsung, manfaatkan jejaknya untuk tugas analisis kinerja atau bahkan untuk merekonstruksi aktivitas suatu sistem dalam investigasi forensik.
