Jak mogę ograniczyć lub nawet wyłączyć pamięć podręczną plików w systemie Windows Server 2008R2?


9

Jest maszyna z bardzo szybką macierzą RAID i szybkim połączeniem internetowym. Ale dostał tylko 8 GB pamięci, co kończy się naprawdę szybko, gdy przesyłanie się zwiększa.

Wszelkie pomysły, jak mogę wyłączyć lub ograniczyć pamięć podręczną?
(Próbowałem wyłączyć pamięć podręczną zapisu w Menedżerze urządzeń. Ale to tylko pamięć podręczna zapisu i to nie pomogło).



@OliverSalzburg Niestety, nie jest teraz w trybie gotowości. Tryb gotowości jest świetny i powinien być zawsze włączony. To dobra rzecz. Ale teraz, z jakiegoś powodu, ten baran jest używany jako „Aktywny”. (Używam uTorrenta do testowania prędkości i przy szybkim transferze zaczyna się dziać.)
Apache

Odpowiedzi:


4

Chodzi o to, że używa nieużywanego pamięci RAM i rezygnuje z niego, gdy tylko aplikacja zażąda więcej. Tak więc, nie chcesz ograniczać jego rozmiaru, ponieważ po prostu pozostawiłbyś darmowego barana całkowicie zmarnowanego.


9
Powiedz to mojemu systemowi Windows 7, który zamienił wszystkie programy tylko po to, aby wrzucić plik wideo do pamięci podręcznej podczas kodowania - plik, który zostanie odczytany dokładnie raz - i rozbił całe pudełko.
Jan Schejbal

Może to zależeć od opcji LargeSystemCache. Z jakiegokolwiek powodu ustawiłem go (prawdopodobnie z czasów, w których pamięć RAM była więcej niż wystarczająca do wszystkiego, co zrobiłem).
Jan Schejbal

@JanSchejbal, to ustawienie, którego już nie pamiętam, ponieważ kilka lat temu zrezygnowałem z systemu Windows. Zwykle jądro próbuje zamienić strony z procesów, które były bezczynne przez pewien czas, ponieważ pamięć ta może być lepiej wykorzystana do buforowania plików dla aktywnych procesów. To ustawienie czyni go bardziej agresywnym.
psusi

@JanSchejbal klucz rejestru LargeSystemCache nie jest już używany od 2008r2 według blogs.technet.com/b/askperf/archive/2008/02/01/…
BeowulfNode42

3

Musisz wywołać systemowy interfejs API SetSystemFileCacheSize ()
Udokumentowany tutaj: http://msdn.microsoft.com/en-us/library/aa965240.aspx

Niektóre programy GUI pozwalają na to: http://technet.microsoft.com/en-us/sysinternals/bb897561
Ale możesz preferować CLI, aby automatycznie uruchamiał go przy starcie systemu: http://www.uwe-sieber.de/ntcacheset_e .html (spójrz na środek strony, działa dla 2k8)

Lub po prostu napisz skrypt PowerShell wywołujący SetSystemFileCacheSize ()

Uwaga: zdecydowanie odradza się wyłączanie pamięci podręcznej do użytku produkcyjnego.
Często w przypadku maszyn wirtualnych rozmiar bufora jest ograniczony do niewielkiej wartości, a nie wyłączany.


hmm ... jak dotąd, tak dobrze! Niedługo się odezwę.
Apache

To jest dziwne. Ustawiłem rozmiar roboczy MAKSYMALNY na 1 gigabajt, a on po prostu sobie radzi. Pójdzie znacznie wyżej, nie obchodzi go wartość ani limit. Dlaczego?
Apache

Musisz upewnić się, że monitorujesz właściwą wartość. W tym celu użyj narzędzia cacheset.
Gregory MOUSSAT,

2

Ten problem wystąpił także w systemie Windows Server 2008 R2 w naszej firmie. W naszym przypadku maszyna całkowicie utknęła. Wydaje się, że jest to błąd w tej wersji serwerowej systemu Windows, ponieważ nie wystąpił on w tych samych okolicznościach ani na mojej znacznie mniejszej maszynie z systemem Windows 7 działającej w VirtualBox, ani w systemie Linux.

Możesz ustawić pamięć podręczną na określony limit za pomocą interfejsu API, tak jak inni już to napisali, ale możesz znaleźć aplikacje do bezpośredniego korzystania z niej, takie jak SetSystemFileCacheSize.exe lub NT Cache Setter .

Minusem jest to, że musisz ustawić pamięć podręczną po każdym ponownym uruchomieniu. Możesz także opróżnić całą pamięć podręczną za jednym razem.

Ustawiamy pamięć podręczną plików na naszej maszynie wirtualnej posiadającej 14 GB pamięci RAM na 4 GB i działa. Również flush działa ładnie i możesz to zobaczyć bezpośrednio w Menedżerze zadań.

Przykłady wiersza poleceń:

  • Pokaż bieżące ustawienia systemu Windows:

    SetSystemFileCacheSize.exe
    
  • Pokaż pomoc:

    SetSystemFileCacheSize.exe /?
    
  • Ustaw minimalny rozmiar na 8 MB, a maksymalny na 128 MB:

    SetSystemFileCacheSize.exe 8 128
    
  • Wyłącz minimalny rozmiar i ustaw maksymalny rozmiar na 128 MB:

    SetSystemFileCacheSize.exe off 128
    
  • Wyłącz minimalny i maksymalny rozmiar:

    SetSystemFileCacheSize.exe off off
    
  • Opróżnij pamięć podręczną plików:

    SetSystemFileCacheSize.exe flush
    

Uwaga: Narzędzie należy uruchomić z uprawnieniami administratora.


0

Aby ograniczyć pamięć podręczną plików, upewnij się, że nie jest włączona opcja Maksymalna wydajność udostępniania plików, i możesz określić minimalną ilość pamięci podręcznej plików, wybierając opcję Minimalizuj używaną pamięć lub Saldo.

Aby sprawdzić bieżącą konfigurację, przejdź do: Start-> Panel sterowania-> Połączenia sieciowe-> Połączenie lokalne-> Na karcie Ogólne, Właściwości-> Wybierz plik i drukarkę-> Właściwości .. jeśli wybrano opcję Maksymalizuj, a następnie wybierz każda inna opcja.


Opcja właściwości nie jest dostępna dla drukarek i udostępniania plików. :) W każdym razie jest wyłączone, to pamięć podręczna. Jednak w Rammap każdy plik wchodzi na listę plików, a pamięć aktywna po prostu rośnie.
Apache
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.