Udostępnij za pośrednictwem


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,ProcessIdleTasks

defrag %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 speichern

  • Anonymous
    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. Schnell

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    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 Dank

  • Anonymous
    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ürgen

  • Anonymous
    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 removed

  • Anonymous
    December 15, 2008
    The comment has been removed

  • Anonymous
    December 21, 2008
    wie rststelli ich den Skript und wo speichern

  • Anonymous
    December 29, 2008
    The comment has been removed

  • Anonymous
    August 14, 2009
    wie bitte startet man den System Idle Task?