Nachhaltige Beschleunigung von Windows XP
Technorati-Tags: Microsoft
Wer Windows XP längere Zeit benutzt, kennt das Phänomen: Der Rechner wird im Laufe der Zeit immer langsamer. Die gängige Problemlösung in vielen Fällen: neu installieren. Das ist weder schön noch praktisch, und meistens ist es auch gar nicht notwendig.
Der Grund für die zunehmende Langsamkeit ist häufig PreFetch. Das ist ein Mechanismus, der dafür sorgt, daß Dateien, die beim Systemstart geladen werden müssen, proaktiv von der Platte gelesen und im Cache vorgehalten werden. Das funktioniert prinzipiell sehr gut, nur räumt PreFetch Dateien, die nicht mehr gebraucht werden, nicht auf, sondern lädt sie weiterhin. Der PreFetch-Cache wird immer größer, und irgendwann bremst er den Rechner aus.
Abhilfe schafft hier ein ganz simples Skript:
c:
cd %systemroot%\prefetch
del *.* /q /f%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasksdefrag %systemdrive% -b
defrag %systemdrive% -b
defrag %systemdrive% -b
defrag %systemdrive% -b
Der erste Block dient dazu, das PreFetch-Verzeichnis zu löschen. In diesem Verzeichnis speichert Windows XP Pointer zu den Dateien, die in den Cache geladen werden sollen. Danach müßten Sie eigentlich den Rechner zehnmal booten, damit das PreFetch-Verzeichnis neu aufgebaut wird. Statt dessen rufen Sie einfach den System Idle-Task zehnmal auf, das hat den gleichen Effekt. Zum Abschluß lassen wir noch 'defrag /b' laufen - '/b' optimiert die Festplatte für den Boot-Prozess. Jetzt sollte XP wieder so schnell sein wie direkt nach der Installation.
Windows Vista hat dieses Problem übrigens nicht, das dort implementierte SuperFetch optimiert sich permanent selbst.
Mit freundlichen Grüßen!
Ralf M. Schnell
Comments
Anonymous
January 01, 2003
PingBack from http://blog.bissinger.biz/windows-xp-wieder-beine-machen/Anonymous
January 01, 2003
Wie erstlle ich dieses skript und wo speichernAnonymous
January 01, 2003
Re: Risiko? Zu sagen, es könne definitiv überhaupt gar nie nichts passieren, ist immer fahrlässig. Aber dieses Skript verändert das System oder Applikationen in keiner Weise, wurde schon sehr oft angewendet und ist an sich völlig harmlos. Ich sehe nicht, wie eine Korruption von System oder Programmen entstehen sollte. Mit freundlichen Grüßen! Ralf M. SchnellAnonymous
January 01, 2003
The comment has been removedAnonymous
November 22, 2008
Besteht eine Gefahr bzw ein Risiko bei diesem Skript. z.B dass der PC nicht mehr startet oder dass Programme nicht mehr funktionieren? Vielen DankAnonymous
November 22, 2008
Hallo Ralf, erstmal danke für diesen Artikel und vor allem für das kleine Script. Schöne Sache! Zu dem Thema PreFetch hab ich schon des öfteren was auf verschiedenen Tweak-Sites, in Foren oder auch auf Seiten wie TecChannel was gelesen. So z.B., dass man das Script öfter mal laufen lassen sollte oder auch gleich die PrefetchParameters in der Registry zu bearbeiten (Optimierung für den Boot-Vorgang und Anwendungen). Durch diesen Artikel hier und ein wenig Recherche bin ich jetzt aber auf einen Artikel von Ryan Myers (http://blogs.msdn.com/ryanmy/archive/2005/05/25/421882.aspx) gestoßen. Er spricht sich meinem Verständnis nach explizit gegen das leeren des PreFetch-Ordners aus, da XP wohl sowieso nur maximal 128 Einträge listet und die ältesten selbst löscht/überschreibt. Auch werden Einträge, zu denen keine Anwendung mehr existiert, nicht mehr beachtet. Somit soll sich nicht wirklich eine Verbesserung der Performance ergeben. Wohl eher das Gegenteil, da der PreFetch-Cache auch erstmal wieder befüllt werden muss. Wie gesagt, ich könnte da vielleicht auch was missverstanden haben.Anonymous
November 23, 2008
Hi Ralf, kannst Du bitte etwas zu der Meinung von Ed Bott sagen. http://www.edbott.com/weblog/archives/000743.html Gruß JürgenAnonymous
November 25, 2008
Hi Ralf, danke für den Beitrag/Skript. Werde ich heute mal bei Gelegenheit ausprobieren.Anonymous
November 28, 2008
The comment has been removedAnonymous
December 15, 2008
The comment has been removedAnonymous
December 21, 2008
wie rststelli ich den Skript und wo speichernAnonymous
December 29, 2008
The comment has been removedAnonymous
August 14, 2009
wie bitte startet man den System Idle Task?