Bagaimana saya bisa membatasi atau bahkan menonaktifkan cache file pada Windows Server 2008R2?

9

Ada mesin, dengan array RAID yang sangat cepat, dan koneksi internet yang cepat. Tapi, itu hanya mendapat 8gb mem, yang berjalan sangat cepat, ketika unggah naik.

Ada ide bagaimana saya bisa menonaktifkan, atau membatasi cache?
(Saya telah mencoba menonaktifkan Write Cache dari Device Manager. Tapi itu hanya menulis cache, dan itu tidak membantu.)

Apache
sumber
Ada hubungannya dengan ini? superuser.com/questions/415140/…
Der Hochstapler
@ OliverSalzburg Sayangnya, ini tidak dalam keadaan siaga sekarang. Siaga bagus, dan harus selalu ON. Itu barang bagus. Tapi sekarang, untuk beberapa alasan, ram ini digunakan sebagai "Aktif". (Saya menggunakan uTorrent untuk menguji kecepatan, dan di bawah transfer cepat, itu mulai terjadi.)
Apache

Jawaban:

4

Inti dari cache adalah bahwa ia menggunakan ram yang tidak digunakan , dan menyerah begitu aplikasi meminta lebih banyak. Dengan demikian, Anda tidak ingin membatasi ukurannya karena hal itu hanya akan membuat ram gratis terbuang sia-sia.

psusi
sumber
9
Tolong katakan itu ke Windows 7 saya, yang menukar semua program hanya untuk memasukkan file video ke dalam cache saat meng-encode - file yang akan dibaca tepat sekali - dan menabrak seluruh kotak.
Jan Schejbal
Ini mungkin tergantung pada opsi LargeSystemCache. Untuk alasan apa pun, saya telah mengaturnya (mungkin kembali dari waktu di mana RAM yang saya miliki lebih dari cukup untuk semua yang saya lakukan).
Jan Schejbal
@ JanSchejbal, itulah pengaturan yang tidak bisa saya ingat lagi karena saya menyerah pada Windows beberapa tahun yang lalu. Biasanya kernel mencoba untuk menukar halaman dari proses yang telah menganggur selama beberapa waktu karena memori itu dapat lebih baik menggunakan file cache untuk proses aktif. Pengaturan itu membuatnya lebih agresif dalam hal ini.
psusi
@JanSchejbal kunci registri LargeSystemCache tidak lagi digunakan pada 2008r2 menurut blogs.technet.com/b/askperf/archive/2008/02/01/…
BeowulfNode42
3

Anda harus memanggil sistem API SetSystemFileCacheSize ()
Didokumentasikan di sini: http://msdn.microsoft.com/en-us/library/aa965240.aspx

Beberapa program GUI mengizinkannya: http://technet.microsoft.com/en-us/sysinternals/bb897561
Tetapi Anda mungkin lebih suka CLI, daripada otomatis menjalankannya di startup sistem: http://www.uwe-sieber.de/ntcacheset_e .html (lihat di tengah halaman, itu berfungsi untuk 2k8)

Atau hanya menulis skrip powershell memanggil SetSystemFileCacheSize ()

Perhatikan bahwa sangat tidak disarankan untuk menonaktifkan cache untuk penggunaan produksi.
Sering membatasi ukuran cache ke nilai kecil untuk mesin virtual, bukan untuk menonaktifkannya.

Gregory MOUSSAT
sumber
hmm ... sejauh ini, bagus sekali! Saya akan segera melaporkan kembali.
Apache
Itu aneh. Saya telah menetapkan ukuran kerja MAKSIMUM ke 1 gigabyte, dan itu hanya berhasil menembusnya. Itu akan jauh lebih tinggi, tidak peduli dengan nilai atau batas. Mengapa?
Apache
Anda harus memastikan untuk memantau nilai yang tepat. Gunakan utilitas cacheset untuk itu.
Gregory MOUSSAT
2

Kami juga mengalami masalah ini pada Windows Server 2008 R2 di perusahaan kami. Dalam kasus kami, mesin benar-benar macet. Tampaknya ada bug pada versi server Windows ini, karena itu tidak terjadi dalam keadaan yang sama baik pada mesin Windows 7 saya yang jauh lebih kecil yang berjalan di VirtualBox, atau di Linux.

Anda dapat mengatur cache ke batas tertentu dengan API seperti yang sudah diposting orang lain, tetapi Anda dapat menemukan aplikasi untuk langsung menggunakannya, seperti SetSystemFileCacheSize.exe atau NT Cache Setter .

Kelemahannya adalah Anda perlu mengatur cache setelah setiap reboot. Anda juga dapat membersihkan seluruh cache sekaligus dengan ini.

Kami mengatur cache file pada VM kami yang memiliki RAM 14 GB hingga 4 GB dan berfungsi. Flush juga berfungsi dengan baik dan Anda bisa melihatnya langsung di Task Manager.

Sampel baris perintah:

  • Tampilkan pengaturan Windows saat ini:

    SetSystemFileCacheSize.exe
    
  • Menunjukkan bantuan:

    SetSystemFileCacheSize.exe /?
    
  • Atur ukuran minimum ke 8 MB dan ukuran maksimum ke 128 MB:

    SetSystemFileCacheSize.exe 8 128
    
  • Nonaktifkan ukuran minimum dan atur ukuran maksimum menjadi 128 MB:

    SetSystemFileCacheSize.exe off 128
    
  • Nonaktifkan ukuran minimum dan maksimum:

    SetSystemFileCacheSize.exe off off
    
  • Siram cache file:

    SetSystemFileCacheSize.exe flush
    

Catatan: Alat ini harus dimulai dengan hak admin.

Josef Klotzner
sumber
0

Untuk membatasi cache file, pastikan bahwa tidak diaktifkan opsi Maksimum kinerja file sharing dan Anda dapat menentukan jumlah minimum cache file memori dengan memilih Minimalkan memori yang digunakan atau Saldo.

Untuk memeriksa konfigurasi saat ini, buka: Start-> Control Panel-> Network Connections-> Local Area Connection-> Pada tab General, Properties-> Pilih File and Printer-> Properties .. jika opcion Maximize dipilih, lalu pilih opsi lain.

pengguna630653
sumber
Opsi properti tidak tersedia untuk Printer dan File sharing. :) Pokoknya, dimatikan, cache itu. Namun di Rammap, setiap file masuk ke daftar file, dan memori Aktif terus tumbuh dan berkembang.
Apache