Ich verwende einen (remote gehosteten) virtuellen Server mit Windows 2008 Server für einen Client. Anfangs hatte es 10 GB Speicherplatz. Während einiger Wochen, in denen auf dem Computer nichts anderes als normale Arbeit mit einem webbasierten Ticket-System ausgeführt wurde, begann Windows, sein berüchtigtes "winsxs" -Verzeichnis so stark zu füllen, dass sich am Ende die Festplatte befand voll und wir mussten weitere 5 GB bestellen. Jetzt, drei Wochen später, wurden diese 5 GB auch von winsxs verbraucht, und ich kann wieder nicht an der Maschine arbeiten. Winsxs ist jetzt 8 GB groß, der Rest des Windows-Verzeichnisses 5 GB.
Ich habe im Internet verschiedene Quellen gefunden, die das gleiche Problem beschreiben. Anscheinend speichert Windows 2008 alle Sprachversionen für alle DLLs, die während des normalen Aktualisierungsprozesses heruntergeladen werden. Das Löschen von Dingen dort wird als tödlich gefährlich beschrieben, da sie wichtige Komponenten enthalten. Ich habe kein Tool oder keine Anleitung gefunden, um die nicht mehr benötigten Dateien zu identifizieren und zu entfernen.
Was kann ich machen? Ist das normal und wenn ja, wie verwalten andere Server mit gleichermaßen begrenztem Speicherplatz? Kann ich etwas ein- oder ausschalten?
Von den vordefinierten Serverrollen ist nur "Dateidienste" (oder wie auch immer es in Englisch heißt, es ist ein Schweizer Server) aktiviert. Außerdem habe ich Apache, mySQL und Subversion installiert. Automatische Updates sind aktiviert.
Bearbeiten: Das Problem besteht weiterhin.
Hinweis: Mir ist bekannt, dass das WinSXS-Verzeichnis hauptsächlich aus Symlinks besteht und dass Benutzer aufgrund der Größe häufig in Panik geraten. Trotzdem habe ich von 15 GB Speicherplatz 1,5 MB für Programme und Daten und nichts mehr übrig. Ich bin froh, dass ich überhaupt auf die verdammte Maschine zugreifen kann. * Ich habe bereits 1 GB Daten freigegeben, die von Windows Windows innerhalb von 24 Stunden gefüllt wurden. Es ist wie in einem Horrorfilm. Was ich ausprobiert habe:
- Das Installieren von SP2 (das mit compcln.exe geliefert wird) ist keine Option, da der Speicherplatz nicht einmal dafür ausreicht.
- Auf dem Computer befindet sich keine vsp1clean.exe, wahrscheinlich, weil SP1 bereits mit dem System zusammengeführt wurde. Tatsächlich existiert nirgendwo eine Datei mit dem Namen * cln.exe.
- Es gibt keine Schattenkopien. Schattenkopien sind nicht aktiv.
- Soweit ich das beurteilen kann, sind keine Systemwiederherstellungspunkte aktiv.
- Die einzige aktivierte Serverrolle ist "Dateiserver".
- Die Standard-Bereinigungsfunktion (Rechtsklick auf Laufwerk C) bietet mir erstaunliche 2 MB an Papierkorbinhalten und temporären Internetdateien.
- Die Verwendung eines der "cleanup winsxs" -Skripte ist für mich keine Option, sie sehen alle zu zwielichtig aus. Ich kann nichts direkt von Microsoft finden, das dieses Problem behebt.
Antworten:
Das WinSxS-Verzeichnis belegt nicht annähernd den vom Explorer angegebenen Speicherplatz, da es Hardlinks zu physischen Dateien und nicht zu tatsächlichen Dateien verwendet. Der Explorer hat nur Probleme mit der Angabe der Größe von Hardlinks.
Dieser Artikel über Festplattenspeicher (auf den hier verwiesen wird http://aspoc.net/archives/2008/11/20/winsxs-disk-space-and-windows-7/ ) enthält eine hervorragende Erklärung für das WinSxS-Verzeichnis.
Problem mit der tatsächlichen Datenträgernutzung: Sie können versuchen, COMPCLN.EXE auszuführen, um festzustellen, ob Sie alte Service Pack- und Hotfix-Dateien bereinigen können. Ich würde mir auch alle Protokollierungsverzeichnisse ansehen, um zu sehen, ob noch etwas los ist.
quelle
Ich war im selben Boot wie Sie. Ich hatte 2008 5 brandneue VMs und beobachtete, wie diese im letzten Jahr immer mehr Speicherplatz benötigten. Lassen Sie mich mit windrstat veranschaulichen.
Hier ist ein Screenshot eines brandneuen Servers von 2008 :
3,8 GByte Winsxs-Verzeichnis
Hier ist ein Screenshot eines Produktionsservers für 2008 :
5.4GB Winsxs Verzeichnis
Endlich ein Screenshot eines brandneuen 2008R2 Servers : 5.4GB winsxs Verzeichnis
Soweit ich weiß, gibt es keine Möglichkeit, das Winsxs-Verzeichnis abzuschneiden. WinSxS steht für Windows Side-by-Side. In ihrem Versuch, die Auswirkungen der DLL-Hölle (dh Abhängigkeiten) zu reduzieren, hat Microsoft beschlossen, jede Version jeder DLL, die jemals auf Ihrem System installiert wurde, im Verzeichnis winsxs zu belassen.
Das bedeutet zwei Dinge (denke ich):
Während es in winsxs einige harte Links gibt, sollten die einzigen harten Links die der aktuellen DLLs sein. Mit anderen Worten, die aktuellen DLLs, die im System aktiv sind, sind fest mit diesem Ordner verknüpft.
Alle früheren Versionen der DLLs sind weiterhin verfügbar und werden im Verzeichnis winsxs gesichert. Wie Sie in allen Beispielen sehen können, würde das WINSXS-Verzeichnis, wenn es sich wirklich um "hauptsächlich harte Links" handelte, auf keinen Fall mehr als 50% Ihrer aktuellen Festplattenauslastung beanspruchen. Nun, selbst wenn es wahr wäre, dass das Winsxs-Verzeichnis "hauptsächlich aus Hardlinks besteht", würde eine Auslastung von 50% bedeuten, dass Ihr gesamtes C: -Laufwerk wieder mit dem Winsxs-Verzeichnis verknüpft wurde.
Ich habe alles versucht. Löschen alter Dateien, Deinstallieren von Patches, Löschen der Patch-Verzeichnisse "$". Alles.
Schließlich vergrößerte ich alle C: -Partitionen auf allen meinen Servern auf jeweils 30 GB. Dies wird nur eine vorübergehende Korrektur sein, da das Winsxs-Verzeichnis weiterhin wächst. Gute Nachrichten, denn mit der neuesten Version von NTFS können Sie Ihre Partitionen erweitern, ohne einen Neustart durchführen zu müssen. Wie praktisch.
WinSxS ist nicht nur ein nerviges Verzeichnis, sondern eine neue Methode für alle Windows-Entwickler. WinSxS wird in Kürze nicht mehr verfügbar sein. Entwickler verwenden WinSxS und sind abhängig davon, bis eine neue Methode zur DLL-Archivierung oder zur Auflösung von Abhängigkeiten verfügbar ist.
Auf jeder neuen Windows 2008/7 / Vista Box finde ich, dass eine 30GB C: fast richtig ist. Genug Platz (vorerst) für Patches, Protokolle und einige Anwendungen.
Ich kann es kaum erwarten, bis jemand all das herausfindet und anfängt, vor dem Patch erstellte DLLs mit Rogue-Manifesten zu reaktivieren , die zu Angriffs- / Exploit-Vektoren werden.
quelle
15 GB reichen meiner Erfahrung nach nicht aus, besonders wenn es sich um eine 64-Bit-Maschine mit einigen Aktivitäten handelt ...
Das Erweitern der VPS-Festplatte und der Systempartition sollte einfach sein, ohne dass etwas neu installiert werden muss, wie teuer es auch sein mag. Das Anbieten von weniger als 60 GB Systemdatenträger für ein modernes Windows Server-VPS scheint zunächst nicht durchdacht zu sein, auch wenn ~ 30 GB es für eine Weile verringern könnten: 7
Wenn Sie sich für eine 32-Bit-Installation entscheiden, wird ein gewisser Overhead vermieden, und wenn Sie sich für einen Server Core entscheiden, wird eine Menge davon entfernt. Mein 32-Bit-Server 2008 Core-Dateiserver, auf dem svnserve, dfs, printserving usw. ausgeführt werden und der regelmäßig aktualisiert wird, hat ungefähr 5 GB ... während mein 64-Bit-Server 2008 Standard Webanwendungen (asp.net und php unter Verwendung von IIS) bedient. nimmt gerade 30 GB auf. Beide Metriken schließen natürlich die Datenspeicher / Partitionen aus, nur das Windows-System, und beide sind nur Beispiele. Ich habe 64-Bit-Server 2008-Systemfestplatten, die derzeit zwischen 10 und 35 GB belegen.
Jedes Tool, Upgrade oder jede Anwendung, die Sie installieren, vergrößert das WINSXS-Verzeichnis und das Deinstallieren von Dingen hat nicht immer Auswirkungen auf WINSXS, da das System davon ausgeht, dass diese Abhängigkeiten von anderen Tools verwendet werden.
quelle
Dies ist wahrscheinlich zu spät für Sie und basiert nur auf Vista-Erfahrung, aber:
Meine "Heilung", nachdem ich keine zufriedenstellenden Antworten gefunden hatte, bestand darin, die größten (und unerwünschten) Ordner brutal zu entfernen, z.
Angenommen, Sie starten mit einem guten Backup (Image), versuchen Sie es und sehen Sie!
quelle
Wenn es möglich ist, können Sie versuchen, WinSXS als Workaround auf eine andere Partition zu verschieben. Meines Wissens gibt es keine Möglichkeit, den Inhalt von WinSXS loszuwerden. Dieses süße kleine Ding befindet sich im Herzen des Vista / Win2008-Betriebs, also ... ich habe nichts Besseres gehört, als es auf eine andere Partition zu verschieben.
Hier ist ein Link zu einem Blog, in dem beschrieben wird, wie es gemacht wird: Klicken Sie auf
Ich würde vorschlagen, dass Sie eine vollständige Sicherung (noch besser: ein Image) Ihrer gesamten C: -Partition durchführen, bevor Sie die Prozedur ausführen. Wohlgemerkt, ich habe das nur unter Vista versucht, nicht unter Win2008 Server.
quelle
Wenn der Hauptschuldige WindowsUpdate ist, kann ich sagen, dass Ihre einzige Alternative zum Kauf von mehr Speicherplatz oder zur Durchführung von Systemdatei-Operationen darin besteht, das Wachstum zu begrenzen, das durch die auslöserfreudigen Updates von Microsoft verursacht wird.
Da Sie hauptsächlich eine Nicht-Microsoft-Anwendungsplattform verwenden, können Sie wahrscheinlich darauf verzichten, dass 90-95% der "wichtigen" Updates heruntergeladen werden.
Sie können also automatische Updates deaktivieren und dann SEHR selektiv auswählen, welche "wichtigen" Updates angewendet werden sollen. Wenden Sie nur solche Patches an, die Ihren Sicherheitsplan DIREKT gefährden. Die meisten "wichtigen" Updates beziehen sich wahrscheinlich nicht auf Ihr Sicherheitsszenario. In diesem Fall können Sie Ihren Sicherheitsplan möglicherweise ändern, um auf sie zu verzichten (z. B. keinen IE auf dem Server verwenden, alternative Dateidienste verwenden, die Netzwerksicherheit verschärfen). .
quelle
Wenn WinDirStat und das Betriebssystem selbst (siehe Arbeitsplatz) dieselbe Menge an verwendetem Speicherplatz angeben, ist dies irrelevant, wenn die Größen nicht als feste Links gezählt werden. Wenn das Betriebssystem denkt, dass Ihnen der Platz ausgeht, sind Sie nicht mehr im Raum.
Ich habe dieses Problem auf einem Storage Server 2008 und einem DC (Server 2008). Auf dem DC wurden keine anderen Programme als Windows-Updates installiert. Beide Server belegen unter WinSXS 15 GB Speicherplatz. Der Speicherserver wurde von HP mit 40 GB auf C: vorinstalliert, daher leide ich auch unter diesem Problem. Bis zu 5 GB freier Speicherplatz.
Dies wurde in Windows 8 / Server 2013 behoben, indem überflüssige Updates (dism.exe / online / cleanup-image / startcomponentcleanup) mithilfe von DISM bereinigt wurden. Dies ist eindeutig ein Problem, das von den Verantwortlichen anerkannt wurde 2008.
quelle
In Windows Server 2008 R2 können Sie mit DISM WinSxS bereinigen. Danach können Sie natürlich keine Updates mehr zurücksetzen. Hier ist eine Erklärung: http://www.sqlskills.com/blogs/glenn/how-to-reclaim-disk-space-in-your-windowswinsxs-directory-on-windows-server-2008-r2-sp1/
Zusammenfassend müssen Sie als Administrator den folgenden Befehl ausführen:
Ich weiß, dass dies möglicherweise keine relevante Lösung für Sie ist, da Sie Windows Server 2008 haben (anscheinend nicht R2), aber ich fand diese Frage, als ich nach einer Lösung für R2 suchte, sodass sie für einige Leute nützlich sein könnte.
quelle
Ein paar Vorschläge:
Wo ist deine Auslagerungsdatei?
Richten Sie einen Testcomputer mit derselben Software ein, um festzustellen, ob Sie das Problem replizieren können. Dies ist definitiv nicht normal, und das einzige, was ich mir vorstellen kann, ist, dass etwas auf dieser Box eine DLL (oder ähnliches) ständig ändert und Windows daher ständig Backups davon erstellt.
15 GB sind für eine Windows 2008-Installation sehr günstig - mein Standard-C: -Laufwerk für Windows 2008-Builds ist 60 GB.
quelle
http://tech.xlab.si/2009/07/move-winsxs-folder/
Ich habe diesen Artikel gefunden, aber noch nie ausprobiert. Es sieht so aus, als gäbe es eine Möglichkeit, über den Ordner winsxs zu navigieren. Wenn jemand dies versuchen kann, bitte gehen Sie durch und lassen Sie es mich wissen
quelle
Die von Microsoft angegebenen Systemanforderungen für Server 2008 lauten "Festplattenspeicher: Mindestens 32 GB oder mehr".
http://www.microsoft.com/windowsserver2008/en/us/system-requirements.aspx
Warum kann es Ihrer Meinung nach auf halbem Raum bequem laufen?
quelle
Eine Option: Wenn es sich nur um ein billiges altes VPS handelt, das Sie für einfache Dinge verwenden, lohnt es sich, die NTFS-Komprimierung auf der Festplatte oder in bestimmten Ordnern zu aktivieren:
Dies könnte etwas Platz aus dem Laufwerk herausholen. In den Artikeln heißt es für XP, aber es sind die gleichen Schritte unter Win7 / 2008:
So verwenden Sie die Dateikomprimierung
quelle
Ich bin auf dasselbe Problem gestoßen. Sicher ist WinSxs teilweise schuld ... Aber ich denke, das Problem ist teilweise darauf zurückzuführen, dass Tools wie WinDirStat die Größe von Dateien und Junctions auf die gleiche Weise zu Dateien zählen. Eine Junction ist nur ein Zeiger auf die Datei, kein Duplikat aller Blöcke, aus denen die Datei besteht.
Ich habe festgestellt, dass VSS ein größerer Schuldiger an diesem Problem ist. Verwenden Sie die folgenden Befehle, um festzustellen, ob VSS zu viel Speicherplatz beansprucht, diesen Speicherplatz freigibt oder ein kleineres Limit festlegt:
vssadmin list shadowstorage
vssadmin ShadowStorage löschen / For = C: / On = C:
vssadmin Resize ShadowStorage / For = C: / On = C: / MaxSize = 20%
quelle