Skip to main content

CacheSet v1.0

Von Mark Russinovich

Veröffentlicht: 01. Nov 2006

 

Einführung

CacheSet ist ein Applet, das Ihnen ermöglicht, die Arbeitsseitenparameter des Systemdateicache zu ändern. Im Unterschied zu CacheMan kann CacheSet auf allen Versionen von NT ausgeführt werden und funktioniert ohne Änderungen auf neuen Service Pack-Veröffentlichungen. Außer der Möglichkeit, die minimalen und die maximalen Arbeitsseitengrößen festzulegen, ermöglicht es Ihnen auch, die Arbeitsseite des Cache zurückzusetzen, und so zu erreichen, dass er nach Bedarf von einem minimalen Ausgangspunkt aus wächst. Außerdem haben im Unterschied zu CacheMan Änderungen, die mit CacheSet vorgenommen werden, eine unmittelbare Auswirkung auf die Cachegröße. Vollständiger Quellcode ist enthalten.

Verwenden Sie CacheSet, um die Systemcachegröße auf die Leistung abzustimmen, wie es ohne Feinabstimmung interner Variablen mit CacheMan unmöglich ist.

Hinweis: Um CacheSet auf NT 4.0 Service Pack 4 und höher zu verwenden, müssen Sie über die Berechtigung zur Kontingenterhöhung verfügen (Administratorkonten haben diese Berechtigung standardmäßig). CacheSet ist aktualisiert worden, um diese Berechtigung zu aktivieren, damit es unter SP4 funktioniert.

CacheSet

Installation und Verwendung

CacheSet funktioniert auf allen veröffentlichten Versionen von NT. Nach dem Start zeigt es die aktuelle Größe des Systemdateicache (zweimal pro Sekunde aktualisiert) sowie seine maximale Größe (die größte, die er seit dem letzten Neustart hatte) an und ermöglicht Ihnen, neue minimale und maximale Arbeitsseitengrößen festzulegen.

Festlegen von Neuen Größen
Tragen Sie einfach die neuen Minimum- und Maximumgrößen ein, und klicken Sie auf die Schaltfläche „Apply“ (Anwenden). Wenn Sie eine Fehlermeldung erhalten, gilt eine der folgenden Bedingungen: Sie haben ein Maximum eingetragen, das kleiner ist als das Minimum, das eingetragene Minimum ist kleiner als die Mindestgröße der Systemarbeitsseite, oder das eingetragene Maximum ist größer als die maximalen Systemarbeitsseitengrößen. Passen Sie die eingetragenen Werte an, und versuchen Sie es erneut.

Sie bemerken vielleicht, dass die Größe des Cache sich sofort ändert und dann schnell weiter schrumpft oder wächst. Dies geschieht, weil das System Arbeitsseiten automatisch einmal pro Sekunde korrigiert. Die Cacheseiten, die veröffentlicht werden, sind immer noch im Speicher, können aber schnell zur Verwendung durch andere Programme, die mehr Speicher brauchen, aufgegeben werden. Auf ähnliche Weise kann der Cache leicht Seiten zurückerhalten, wenn Anwendungen auf Dateisystemdaten zugreifen.

Zurücksetzen vorheriger Werte
Sie können jederzeit durch Betätigen der Schaltfläche „Reset“ (Zurücksetzen) jene Arbeitsseitenwerte des Cache wiederherstellen, die beim letzten Start von CacheSet aktiv waren.

Leeren der Cachearbeitsseite
Sie können durch Drücken der Schaltfläche „Clear“ (Löschen) den Cache zwingen, all seine Seiten freizugeben. Beachten Sie, dass der Cache wieder nach Bedarf wachsen kann und dass dies nicht identisch mit dem Leeren des Cache ist – Seiten, die dem Cache zugewiesen wurden, werden einfach anderen Programmen zur Verfügung gestellt und können vom Cache zurückgewonnen werden.

Verwendung der Befehlszeilenschnittstelle
Sie können die minimale und die maximale Arbeitsseitengröße in der Befehlszeile von CacheSet eintragen. CacheSet wendet diese neuen Werte im Hintergrund an. Folglich können Sie CacheSet der entsprechenden Programmgruppe im Menü „Start“ hinzufügen, um die Größe des Cache bei jedem Start automatisch festzulegen.

Verwendung: CacheSet [minimale Arbeitsseite] [maximale Arbeitsseite]

Funktionsweise

CacheSet verwendet einen NtQuerySystemInformation-Aufruf, um Informationen zu den Einstellungen des Cache zu erhalten, und NtSetSystemInformation, um neue Größeninformationen festzulegen. Die Arbeitsseiteninformationen für einen Prozess dienen dem Speichermanager von NT als Richtlinien, wie viele Seiten des physischen Speichers der Anwendung zugewiesen werden sollen. Weil es Richtlinien sind, können daraus Bedingungen resultieren, sodass der Speichermanager eine Arbeitsseite über das Maximum hinaus wachsen oder unter das Minimum schrumpfen lässt. Die Einstellungen betreffen die Gesamtzuordnung und damit das Reaktionsvermögen einer Anwendung. Im Fall von CacheSet ist die Anwendung der Dateisystemcache.


Intern ruft NtSetSystemInformation die Funktion MmAdjustWorkingSetSize auf, das die Arbeitsseite einer Anwendung entweder vergrößert oder verringert. Wenn der dritte Parameter, der an MmAdjustWorkingSetSize übergeben wird, 1 ist, wird die Arbeitsseite des Systemcache angepasst. Andernfalls findet die Anpassung im aktuellen Prozess statt (die Systeminformationsaufrufe betreffen nur den Systemcache). Die Angabe eines Minimum und Maximum von -1 veranlasst MmAjustWorkingSetSize, ein Löschen der Arbeitsseite durchzuführen, wodurch alle Seiten der Anwendungsarbeitsseite freigegeben werden.

Sicherheitslücke

Was die von CacheSet zur Durchführung seiner Aufgaben verwendete Schnittstelle besonders interessant macht, ist, dass keine Sonderberechtigung erforderlich ist, um sie aufzurufen. Folglich können Sie CacheSet sogar über das Gastkonto ausführen, was eine Art Sicherheitslücke darstellt, da jeder die Größe des Systemcache beeinflussen kann.

Aktualisierung: Ab NT 4.0 Service Pack 4 hat Microsoft diese Lücke dadurch geschlossen, dass das Konto, das die Arbeitsseite des Cache ändert, die Berechtigung zur Kontingenterhöhung haben muss. Der Administrator und die Gruppenkonten haben diese Berechtigung standardmäßig.

CacheSet herunterladen (44 KB)
CacheSet herunterladen (44 KB)



Zum Seitenanfang Zum Seitenanfang

Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur -Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die -Website verlassen.

Möchten Sie teilnehmen?