Di Windows 7 (64 bit), saya membaca 9000 file berukuran sedang. Secara total, ada lebih dari 200 MB data. Menggunakan Java (JDK 1.6.21) saya mengulangi file. Sekitar 1400 pertama berjalan dengan kecepatan penuh tetapi kemudian kecepatan turun menjadi 4 ms per file. Ternyata biaya utama dikeluarkan hanya dengan membuka file.
Saya membuka file menggunakan new FileInputStream
(dan tentu saja menutupnya pada waktunya untuk menghindari kebocoran file). Setelah beberapa penyelidikan, saya melihat bahwa cache disk Windows menggunakan hanya 100 MB atau lebih dari RAM meskipun saya memiliki 8 GiB tersedia. Saya sudah mencoba meningkatkan ukuran cache menggunakan alat CacheSet tetapi nilai apa pun yang saya berikan dianggap di luar jangkauan .
Saya juga telah mencoba mengaktifkan LargeSystemCache
kunci registri tetapi (setelah me-reboot) CacheSet
alat ini masih menunjukkan saya menggunakan 100 MB cache (dan tidak meningkat selama uji coba). Adakah yang punya saran untuk "mendorong" Windows 7 untuk menyimpan 9000 file saya?
sumber
Jawaban:
Superfetch tidak men-cache semua file besar, hanya bagian-bagian yang diakses. Jadi, mengakses file itu masih membutuhkan disk baca. Cache disk pada 210mb seperti milik saya dapat men-cache semuanya dari semua file kecil di Windows. Dan kinerjanya terlihat. Saya ragu, bahwa itu akan berdampak pada sistem yang lebih cepat.
sumber
Juga, saya perhatikan bahwa CacheSet memiliki beberapa masalah dengan nilai-nilai besar, mungkin karena itu adalah aplikasi 32-bit dari tahun 2006. Saya pergi dan menulis program 64-bit di sekitar API yang sama, yang memungkinkan pengaturan ukuran cache lebih dari 4GB: http: / /blog.thecybershadow.net/2012/12/14/64-bit-cacheset/
Catatan: Artikel CacheSet menyebutkan CacheMan, namun versi terbaru tampaknya menggunakan API yang sama dengan CacheSet - itu hanya dikemas dalam UI dengan banyak preset dan fungsi lainnya.
sumber
Saya tahu ini sudah lama, tetapi untuk orang lain yang mengalami masalah ini: Anda perlu menjalankan CacheSet dengan hak administratif secara manual. Jika tidak, Anda akan mendapatkan kesalahan OutOfRange; itu TIDAK akan secara otomatis meminta hak istimewa.
sumber