Rabu, 25 Maret 2015

Prefetch Files

Pengertian & Kegunaan Prefetch Files Dalam PC Windows


Pengertian & fungsi Prefetch Files dalam komputer Windows ternyata banyak menimbulkan salah tafsir. Dan tentu juga berakibat menimbulkan banyak tindakan yang keliru dalam menyikapi keberadaan Prefetch Files ini.

Prefetch Files (file prefetch) adalah sebuah komponen Windows yang mulai ada di Windows XP, dan merupakan bagian dari Memory Manager. Mulai Vista, Prefetch(er) diperluas dengan SuperFetch dan ReadyBoost.

SuperFetch (atau Prefetch itu sendiri) berfungsi meningkatkan kecepatan dalam me-load aplikasi, dengan cara memonitor dan membuat pola (peta) penggunaan aplikasi, kemudian merekam data-data kunci (major data) tsb. ke dalam satu file ber-ekstensi [.pf]. Inilah yang disebut Prefetch File.
File Prefetch ini disimpan dalam folder C:\Windows\Prefetch, dan setiap file [*.pf] diberi nama sesuai dengan nama aplikasi yang pernah dijalankan. Gambar-1.
>>> Klik gambar untuk tampil lebih besar, atau klik kanan dan pilih Open In New Tab.
lokasi file prefetch
Gambar-1
isi file prefetch
Gambar-2
Prefetch Files boleh saja disebut "sampah" karena di dalamnya memang hanya berisi list - daftar nama dan lokasi file yang dibutuhkan untuk me-load suatu aplikasi. Sama sekali bukan berisi script program yang dapat di-eksekusi.

Pada Gambar-2. adalah contoh isi file prefetch (sudah saya sederhanakan) yang berisi flow chart untuk membuka aplikasi Notepad. Tampak jelas bahwa isinya bukan script program, tetapi hanya daftar urut nama & lokasi file yang harus dijalankan (dalam contoh ini) untuk membuka aplikasi Notepad. Sistem tidak akan meletakkan file seperti ini kedalam memory jika tidak sedang dibutuhkan.

Penggunaan file Prefetch.
  1. Tidak ada file prefetch yang di-load atau di-cache ke memory sebelum user berusaha untuk membuka suatu aplikasi.
  2. Saat user membuka satu aplikasi, barulah file Prefetch (yang pernah dibuat untuk aplikasi tsb.) akan dikirim ke memory - RAM, sehingga bisa di-akses dengan sangat cepat.
  3. Selanjutnya dengan "berbekal" daftar (peta) dalam file prefetch tsb. sistem (Windows) bisa langsung menuju lokasi file di HDD, tanpa harus menelusuri dan mencari dalam setiap sector HDD. Dengan cara ini maka setiap file "loader" bisa cepat di-akses, dan aplikasi-nya bisa cepat di-load pula.
  4. Hal ini juga diterapkan untuk proses booting.
  5. Bayangkan, bahwa HDD anda seperti sebuah "hutan belantara" dengan ribuan jenis pohon yang tumbuh campur-aduk berserakan; betapa sulit mencari satu pohon tertentu. -- disinilah pentingnya melakukan defragmentasi HDD secara berkala. 

Prefetching.

Prefetching atau proses prefetch sebenarnya adalah proses dimana sistem operasi me-load data & code dari HDD ke dalam memory sebelum data tsb. benar-benar dibutuhkan.
  • Dalam tujuan prefetch untuk meningkatkan performa, maka Cache_Manager me-monitor  arus pergerakan data antara HDD dan RAM, serta antara RAM dan Page_File (Virtual Memory). Baik saat proses booting, maupun saat berbagai Aplikasi dan Process di-load. Lalu Cache_Manager  akan membuat peta direktori dan file setiap aplikasi & process tsb. dan kemudian menyimpan dalam sebuah file ber-ekstensi [.pf] dalam folder Prefetch.
  • Setelah peta direktori dan file dibuat, Cache_Manager akan memakainya untuk meningkatkan efisiensi saat booting maupun loading aplikasi dan process. Lebih detil lagi, Cache_Manager akan memeriksa folder Prefetch, apakah sudah tersedia peta yang diperlukan sesuai aplikasi yang akan dijalankan. Jika sudah tersedia, Cache_Manager akan memerintahkan system agar segera meng-akses folder & file seperti yang ada dalam peta tsb. Berikutnya akan memberi tanda pada Memory_Manager agar menggunakan informasi dalam peta untuk me-load data terkait ke halaman memory (RAM).
  • Setelah proses prefetching selesai, Cache_Manager akan mengijinkan aplikasi (dan Process) untuk melanjutkan loading. Selanjutnya, aplikasi dan Process akan menemukan (dengan mudah) semua data yang diperlukan sudah tersedia dalam halaman memory, ini sangat mengurangi keharusan  untuk mengakses HDD sehingga proses loading bisa berjalan lebih efisien & cepat.

Self Optimasi Folder Prefetch.
  • Untuk lebih menambah efisiensi proses prefetching, Windows secara periodik akan meng-analisa isi dari file-file peta (Prefetch files) tsb., dan lalu merangkainya dalam urutan sesuai proses loading setiap aplikasi-nya.
  • Kemudian Windows menyimpan informasi analisa tsb. ke dalam file Layout.ini, yang ada di folder Prefetch juga - Gambar-1.
  • Jadi, file Layout.ini merupakan rangkuman (konsolidasi) semua file Prefetch [*.pf]. File ini akan digunakan untuk optimasi isi folder Prefetch. Jika file ini hilang (dihapus), maka sistem tidak akan pernah bisa membuat dengan sendirinya, dan fungsi optimasi folder Prefetch akan tidak bisa dilakukan.
  • Selanjutnya Windows  akan men jadualkan (schedule) program Defragmenter agar me-relokasi (men-defrag) semua direktori (folder) dan file yang terdaftar dalam Layout.ini, ke suatu tempat yang berurutan dalam HDD, dan sesuai urutan dalam informasi yang ada dalam file Layout.ini. Ini berarti bahwa isi folder Prefetch selalu dalam kondisi "optimized", rapi, dan cepat untuk di-akses.
  • Dari sini tampak jelas, bahwa Windows_Task_Scheduler harus dalam keadaan Enabled dan di-set Automatic (default) agar Prefetch bisa berfungsi normal.

Manual Prefetch.

Pada dasarnya secara default, Windows otomatis melakukan optimasi terbaik pada folder Prefetch. Meski demikian (jika dikehendaki) ada beberapa hal yang bisa dilakukan secara manual oleh User terhadap fungsi Prefetch, tentu dengan semua "resiko" yang bisa timbul karenanya.
  1. Setting Parameter Prefetch.
    1. Setting Windows Prefetcher tersimpan didalam Windows Registry pada key : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters. Gambar-3 Win XP, Gambar-4 adalah Win 7.
    2. Anda bisa meng-akses key registry ini dari regedit.
    3. Kita bisa merubah value pada EnablePrefetcher (dan EnableSuperfetch) sbb.
      1. 0 = Disabled (tidak aktif).
      2. 1 = Application launch prefetching enabled (prefetch hanya untuk aplikasi yang dibuka).
      3. 2 = Boot prefetching enabled (prefetch hanya untuk proses Booting).
      4. 3 = Applaunce and Boot enabled - Optimal & Default - (prefetch untuk applikasi dan booting).
    4. Setting yang di-sarankan adalah diset pada value = 3, EnablePrefetcher=dword:00000003.
    5. Note : pada Win 7 nilai value untuk EnablePrefetcher dan EnableSuperfetch haruslah sama.
  2. Defragmentasi File Prefetch.
    1. Buka Command Prompt, dan ketik : defrag c: -b lalu tekan Enter.
    2. File Prefetch akan mulai de-defrag, tunggu sampai selesai.
    3. Untuk keluar dari Command_Prompt, ketik Exit - dan tekan Enter.
  3. Membersihkan Folder Prefetch.
    1. Saya ingin tegaskan, bahwa adalah sangat tidak perlu membersihkan folder Prefetch, karena sistem akan otomatis melakukan hal ini.
    2. Biarkan folder Prefetch apa adanya, karena tidak akan mengganggu performa sistem sama sekali.
    3. Namun jika anda harus melakukannya, perhatikan hal-hal ini.
      1. Jangan hapus folder Prefetch.
      2. Jangan menghapus file Layout.ini, sebab sekali file dihapus, selamanya akan hilang, dan folder Prefetch menjadi tidak berfungsi sama sekali, tak peduli meski anda berusaha edit registry bagaimanapun.
    4. Untuk menghapus isi folder Prefetch : dari Run - ketik  prefetch - hapus semua file Prefetch kecuali Layout.ini. Jika file Layout.ini terhapus, carilah di Recycle Bin, lalu restore file Layout.ini, maka akan kembali ada di folder Prefetch.
    5. Pada startup berikutnya, Windows akan membuat file Prefetch yang baru - jika anda tidak men-disable nya.
  4. Memperbaiki Folder Prefetch.
    Jika file Layout.ini benar-benar sudah hilang, maka harus dilakukan rebuild kembali. Berikut cara me-rebuild (membuat) file Layout.ini.
    1. Pastikan bahwa service Windows_Task_Scheduler kondisi Enable, caranya:
    2. Start - Control Panel - Administrative Tools - klik Services.
    3. Pada daftar Services pastikan Task_Scheduler Enable, dan restart service dengan klik pada Start. Tutup Control Panel.
    4. Selanjutnya, buka Command Prompt, ketik (copy) perintah ini : rundll32.exe advapi32.dll,ProcessIdleTasks - tekan Enter.
    5. Berikutnya lakukan booting 3 (tiga) kali. Agar sistem membangun kembali folder Prefetch, sistem butuh re-boot 3x.

mengubah parameter prefetch win xp
Gambar-3.
mengubah parameter prefetch win 7
Gambar-4.
File Prefetch & Folder Prefetch.
  • Prefetch Files :
    1. File Prefetch adalah file berekstensi [.pf], berisi pola penggunaan, atau daftar informasi nama & lokasi file yang diperlukan untuk me load suatu program aplikasi.
    2. Berguna untuk mempercepat proses loading suatu program aplikasi.
    3. Jika User tidak sedang berusaha membuka suatu aplikasi, maka file Prefetch tidak akan di-load (di-cache) ke memory.
    4. Sesuai fungsi dan cara kerjanya, maka tidak mungkin file Prefetch yang sedang tidak digunakan akan menyebabkan performa sistem menurun.
  • Folder Prefetch :
    1. Folder Prefetch adalah folder system Windows dengan attribut hidden yang tidak boleh dihapus.
    2. Dalam folder prefetch terdapat file Layout.ini yang juga tidak boleh dihapus.
    3. Akan melakukan self clean terhadap file Prefetch yang lama (old_prefetch). Sistem akan membersihkan folder Prefetch dengan menghapus file Prefetch yang lama tidak digunakan (old). Saat di perkenalkan dalam XP, folder Prefetch akan membatasi jumlah file sebanyak 128 (130) item.
    4. Akan otomatis melakukan defragmentasi isi folder setiap 72-jam.
    5. Prefetcher bisa berfungsi jika service Task_scheduler aktif-enabled. Jika service ini di-disable (Off) maka Windows tidak akan bisa membuat, meng-update, dan meng-hapus isi folder Prefetch; fungsi Prefetch tidak akan berjalan. Selanjutnya hal ini akan berakibat menurunnya performa sistem.

Tidak ada komentar:

Posting Komentar