Vraag Windows 2008: WinSXS-directory groeit ongecontroleerd, waardoor de server wordt geblokkeerd


Ik voer een (op afstand gehoste) virtuele server met Windows 2008 Server voor een client. Aanvankelijk had het 10 GB aan ruimte. In de loop van een paar weken - tijdens welke niets werd gedaan op de machine behalve normaal werk met behulp van een webgebaseerd ticket systeem -, Windows begon zijn beruchte "winsxs" directory zo te vullen dat de harde schijf uiteindelijk vol was en we 5 GB moesten bestellen. Nu, drie weken later, zijn deze 5 GB ook verbruikt door winsxs, en weer kan ik niet aan de machine werken. Winsxs is nu 8 GB groot, de rest van de Windows-map 5 GB.

Ik heb verschillende bronnen op internet gevonden die hetzelfde probleem beschrijven. Blijkbaar slaat Windows 2008 alle taalversies op voor alle DLL's die het downloadt in het normale updateproces. Gewoon dingen verwijderen wordt beschreven als dodelijk gevaarlijk omdat het vitale componenten bevat. Ik heb geen enkele tool of instructies gevonden om bestanden te identificeren en te verwijderen die niet langer nodig zijn.

Wat kan ik doen? Is dit normaal gedrag en als dat zo is, hoe beheren andere servers met even beperkte ruimte? Kan ik iets uitzetten of aanzetten?

Van de vooraf gedefinieerde serverrollen is alleen "Bestandsservices" (of hoe het ook wordt genoemd in het Engels, het is een Zwitserse server) geactiveerd. Bovendien heb ik Apache, mySQL en Subversion geïnstalleerd. Automatische updates zijn geactiveerd.

Bewerken: het probleem blijft bestaan.

Opmerking: Ik ben me ervan bewust dat de WinSXS-directory voornamelijk bestaat uit symlinks en dat gebruikers vaak paniek zaaien over de omvang ervan. Toch heb ik op 15 GB aan ruimte 1,5 MB aan programma's en gegevens, en niets links. Ik ben blij dat ik zelfs die verdomde machine kan bereiken. * Ik heb al 1 GB aan gegevens vrijgemaakt, die binnen 24 uur door Windows Windows zijn gevuld. Het is net als in een horrorfilm. Wat ik heb geprobeerd:

  • Het installeren van SP2 (geleverd met compcln.exe) is geen optie, omdat de schijfruimte zelfs niet voldoende is.
  • Er is geen vsp1clean.exe op de machine, waarschijnlijk omdat SP1 al is samengevoegd met het systeem. In feite bestaat er nergens een bestand met de naam * cln.exe.
  • Er zijn Nee schaduwkopieën. Schaduwkopieën zijn niet actief.
  • Voor zover ik weet zijn er geen systeemherstelpunten actief.
  • De enige geactiveerde serverrol is "fileserver".
  • De standaard "opruimen" -functie (klik met de rechtermuisknop op C: schijf) biedt me een raadselachtige 2 MB aan in de prullenmand en tijdelijke internetbestanden.
  • Het gebruik van een van de 'cleanup winsxs'-scripts in de buurt is voor mij geen optie, ze zien er allemaal te duister uit. Ik kan niets rechtstreeks van Microsoft vinden dat dit probleem aanpakt.

60
2017-10-29 12:54


oorsprong


Heb je dit op het einde opgelost? - UpTheCreek
@UpTheCreek eigenlijk, helaas, nee! De provider heeft ons 5 GB extra ruimte op het VPS gegeven, waardoor Windows het geluk niet heeft opgevuld. Maar de Windows-map neemt nog steeds 20 GB in beslag. Het contract zal binnenkort opraken en we zullen van hostingbedrijf veranderen. - Pekka 웃


antwoorden:


De WinSxS-directory neemt bijna de door Reporter gemelde ruimte niet in beslag, omdat deze harde koppelingen gebruikt voor fysieke bestanden, niet voor werkelijke bestanden. Explorer heeft alleen problemen met het rapporteren van de grootte van harde koppelingen.

Dit artikel op Schijfruimte (hier verwezen http://aspoc.net/archives/2008/11/20/winsxs-disk-space-and-windows-7/) heeft een geweldige uitleg over de WinSxS-directory.

Wat betreft uw werkelijke schijfgebruiksprobleem: u kunt proberen COMPCLN.EXE uit te voeren om te zien of u alle oude servicepacks en hotfix-bestanden kunt opruimen, wat best een beetje zou kunnen helpen. Ik zou ook naar elke logboekmappen gaan kijken om te zien of er iets anders aan de hand is.


22
2017-10-29 14:39



Dit klinkt goed, maar de Windows-map lijkt in feite> 12 GB te verbruiken (het is een ruimte van 15 GB, programma's en werkgegevens bezetten 2,5 GB, en er is geen ruimte over). Compcln.exe bestaat niet in 2008, kent iemand daar een vergelijkbare opdracht? - Pekka 웃
Mogelijk alleen W2K8 SP2: news.softpedia.com/news/... - Christopher_G_Lewis
SP2 klinkt interessant, maar de server is zo vol dat ik deze niet eens kan installeren. Ik heb de provider een paar dagen extra ruimte gevraagd, maar deze hebben in het verleden niet bewezen dat ze te nuttig waren. Dit is echt verontrustend en veroorzaakt ernstige problemen. Ik open een premie en voeg wat screenshots toe. - Pekka 웃
Ik vermoed dat het reimeren van de machine en het uitvoeren van updates geen optie voor jou is? - blueberryfields
Alleen als allerbeste redmiddel, omdat ik veel werk heb geïnvesteerd om alles op te zetten ... Dat zou het waarschijnlijk oplossen, maar ik zou er heel graag mee willen leven. - Pekka 웃


Ik was in dezelfde boot als jij. Ik had 5 gloednieuwe 2008 VM's en ik zag dat ze gestaag steeds meer schijfruimte nodig hadden in het afgelopen jaar. Laat me dit illustreren met windrstat.

Hier is een schermafdruk van een gloednieuwe 2008-server:

alt text 3.8 GB WINSXS-map

Nu is hier een schermafdruk van een productie 2008 server:

alt text 5.4 GB WINSXS-map

Eindelijk een schermopname van een gloednieuwe 2008R2-server: alt text 5.4 GB WINSXS-map

Van wat ik kan vertellen, is er geen manier om de WINSXS-directory af te kappen. WinSxS staat voor Windows naast elkaar. In hun poging om de effecten van de DLL-hel (d.w.z. afhankelijkheden) te verminderen, besloot Microsoft om elke versie van elke DLL die ooit op uw systeem was geïnstalleerd in de WINSXS-directory te bewaren.

Dit betekent twee dingen (denk ik):

  1. Hoewel er enkele harde links in winsxs zijn, zouden de enige harde links die van de huidige DLL's moeten zijn. Met andere woorden, de huidige DLL's die actief zijn in het systeem worden terug naar deze WINSXS-map gekoppeld.

  2. Alle vorige versies van de DLL's zijn nog steeds beschikbaar en er is een back-up gemaakt in de WINSXS-directory. Zoals je in alle voorbeelden kunt zien, zou de winsxs-directory echt "meestal harde koppelingen" zijn en zou het op geen enkele manier meer dan 50% van je huidige schijfgebruik kunnen omvatten. Nu, zelfs als het waar zou zijn dat de WINSXS-map "meestal hardlinks" is, betekent 50% gebruik dat uw hele C: -station weer in de WINSXS-directory is vastgelinkt.

Ik heb alles geprobeerd. Oude bestanden verwijderen, patches deïnstalleren, de "$" -patchmappen verwijderen. Alles.

Uiteindelijk heb ik alle C: partities op al mijn servers gegroeid tot elk 30 GB. Dit zal slechts een tijdelijke oplossing zijn, omdat de map winsxs zal blijven groeien. Maar goed nieuws, aangezien de nieuwste versie van NTFS je toestaat om je partities te laten groeien zonder opnieuw op te starten. Hoe handig.

WinSxS is niet alleen een irritante directory, het is een nieuwe methodologie voor alle Windows-ontwikkelaars. WinSxS zal niet snel verdwijnen. Ontwikkelaars gebruiken WinSxS en zijn er afhankelijk van totdat er een nieuwe methodologie voor DLL-archivering of afhankelijkheidsresolutie beschikbaar komt.

Op elke nieuwe Windows 2008/7 / Vista-doos vind ik dat een 30 GB C: bijna goed is. Genoeg ruimte (voorlopig) voor patches, logs en een paar applicaties. 

Ik kan niet wachten totdat iemand dit allemaal uitvertelt en begint met het opnieuw activeren van pre-patch DLL's rogue-manifesteert, die aanvals / exploit-vectoren worden.


17
2017-11-13 16:10



Bedankt, als er geen wonderbaarlijke manier is om WinSXS af te slanken, zal ik dit antwoord accepteren omdat het me laat weten dat ik niet de enige ben die dit doet. Jammer dat er geen oplossing lijkt te zijn. Een upgrade naar 30 GB zal moeilijk te rechtvaardigen zijn, omdat het externe betaalde hosting is. Misschien zal ik downgraden naar 2003 - maar dat klinkt ook gek ... - Pekka 웃
Ja, ik ben hier ook niet zo enthousiast over. Het lijkt erop dat Winxxs geen verzameling harde koppelingen is. Het projecteert eerder hardlinks naar de rest van het systeem, maar daar lijkt ook wat onenigheid over te bestaan. winvistaclub.com/f16.html ... - Joseph Kern
Ik wilde ook vermelden dat ik geen serverrollen heb ingeschakeld op een van de servers die ik voor voorbeelden gebruikte. De productieserver is een apache-tomcat-server. En het programma dat ik gebruikte om de schijfruimte te vinden is windirstat.info - Joseph Kern
MS geeft 32 GB aan als minimale schijfvereiste: microsoft.com/windowsserver2008/en/us/system-requirements.aspx - Christopher_G_Lewis


15 GB zal het in mijn ervaring niet verminderen, vooral als het een 64-bit machine is met wat activiteit ...

Het uitbreiden van de VPS-schijf en vervolgens de systeempartitie zou gemakkelijk moeten zijn zonder iets opnieuw te hoeven installeren, hoe duur het ook is. Het aanbieden van minder dan 60 GB systeemschijf voor een moderne Windows Server VPS lijkt in de eerste plaats niet doordacht, zelfs als ~ 30GB het een tijdje zou kunnen knippen: 7

Als je kiest voor een 32-bit-installatie, wordt een beetje overhead verwijderd en als je voor een Server Core gaat, wordt er veel van verwijderd. Mijn 32-bits Server 2008 Core-bestandsserver waarop svnserve, dfs, afdrukservices enzovoort worden uitgevoerd en regelmatig wordt bijgewerkt, is ongeveer 5 GB ... terwijl mijn 64-bits Server 2008-standaard webtoepassingen biedt (asp.net en php met IIS) kost momenteel 30 GB. Beide statistieken zijn exclusief de gegevensopslag / partities, alleen het Windows-systeem, en beide zijn slechts voorbeelden. Ik heb 64-bits systeemschijven van Server 2008 die nu alles van 10 tot 35 GB kunnen opnemen.

Elke tool, upgrade of toepassing die u installeert, zal de WINSXS-directory laten groeien en het verwijderen van spullen heeft niet altijd enig effect op WINSXS, omdat het systeem denkt dat die afhankelijkheden door andere tools worden gebruikt.


5
2017-11-15 00:24





Dit is waarschijnlijk te laat voor u en alleen gebaseerd op Vista-ervaring, maar:

  1. Geloof niet degenen die zeggen 'zijn meestal harde links, dus de map is niet zo groot als het lijkt' - dit is waar, maar als je schijfruimte op was, was het te groot.
  2. De enige 'remedie' die ik ooit heb gesuggereerd is om de applicaties te verwijderen die de bloat aan de map hebben toegevoegd - maar er is geen gedocumenteerde manier die ik ken om de boosdoeners te vinden.
  3. Mijn 'remedie' na het niet vinden van bevredigende antwoorden was het bruut verwijderen van de grootste (en ongewenste) mappen, bijvoorbeeld:

    • 6 versies van 'Microsoft natuurlijke taal zoeken', bij ~ 300kB elk
    • Veel oosterse lettertypen die ik nooit zal gebruiken (soms 6 vns hiervan, meestal identiek)
    • Etc etc.

Ervan uitgaande dat u begint met een goede back-up (afbeelding), probeer het en zie!


5
2018-03-27 16:51





Als het mogelijk is, kunt u proberen WinSXS naar een andere partitie te verplaatsen als een tijdelijke oplossing. Bij mijn weten is er geen manier om de inhoud van WinSXS te verwijderen. Dit schattige dingetje ligt in het hart van Vista / Win2008, dus ... ik heb niets beters gehoord als het naar een andere partitie wordt verplaatst.

Hier is een link naar een blog waarin wordt beschreven hoe je dit moet doen: Klik

Ik zou willen voorstellen dat je een volledige back-up (nog beter: een afbeelding) van je hele C: -partitie maakt voordat je de procedure probeert. Let op dat ik dit alleen in Vista heb geprobeerd, niet op Win2008 Server.


4
2017-11-13 08:26



Goed idee, maar in mijn geval (dit is een VPS zonder alternatieve opslag) is het helaas geen optie. - Pekka 웃
--- en het maken van een afbeelding is om dezelfde reden niet zo eenvoudig - anders zou ik er een maken en het op mijn eigen machine proberen uit te voeren voor verder onderzoek. - Pekka 웃


Als de belangrijkste boosdoener WindowsUpdate is, zou ik zeggen dat je enige alternatief voor het kopen van meer ruimte of het uitvoeren van systeembestandsoperaties de groei wordt beperkt die wordt veroorzaakt door de trigger-happy updates van Microsoft.

Aangezien u voornamelijk een niet-Microsoft-toepassingsplatform gebruikt, kunt u waarschijnlijk doen zonder dat 90-95% van de 'belangrijke' updates worden onderdrukt.

Wat u dus kunt doen, is automatische updates uitschakelen en vervolgens ZEER selectief zijn over welke "belangrijke" updates moeten worden toegepast. Pas deze alleen toe die kwetsbaarheden repareren die DIRECT uw beveiligingsplan schaden. De meeste "belangrijke" updates zijn waarschijnlijk niet van toepassing op uw beveiligingsscenario, en als dat het geval is, kunt u waarschijnlijk uw beveiligingsplan wijzigen om het zonder te doen (gebruik bijvoorbeeld IE op de server niet, gebruik alternatieve bestandsservices, verlaag de netwerkbeveiliging) .


3
2017-12-20 06:30





Als WinDirStat en het besturingssysteem zelf (alleen bekeken onder Deze computer) dezelfde hoeveelheid gebruikte ruimte rapporteren, is het onrendabel als de grootten verkeerd worden geïnterpreteerd als harde koppelingen. Als het besturingssysteem denkt dat je te weinig ruimte hebt, ben je buiten de ruimte.

Ik heb dit probleem op een Storage Server 2008 en een DC (Server 2008). Geen andere programma's maar Windows-updates zijn geïnstalleerd op de DC, beide servers verbruiken 15 GB aan ruimte onder WinSXS. De opslagserver was vooraf geïnstalleerd door HP met 40 GB op C :, dus ik heb ook last van dit probleem. Tot 5 GB vrije ruimte.

Dit is opgelost in Windows 8 / Server 2013 door DISM te gebruiken om opgezuiverde updates (dism.exe / online / cleanup-image / startcomponentcleanup) op te ruimen, dus dit is duidelijk een probleem dat zij hebben bevestigd, helaas zonder enige andere oplossing dan te upgraden voor degenen die vastzitten met 2008.


3
2018-04-11 02:47





In Windows Server 2008 R2 kunt u DISM gebruiken om WinSxS op te schonen, uiteraard kunt u updates niet terugdraaien nadat u dit hebt gedaan. Hier is een uitleg: http://www.sqlskills.com/blogs/glenn/how-to-reclaim-disk-space-in-your-windowswinsxs-directory-on-windows-server-2008-r2-sp1/

Samengevat moet u de volgende opdracht uitvoeren als beheerder:

DISM.exe /online /Cleanup-Image /spsuperseded

Ik weet dat dit misschien geen relevante oplossing voor je is omdat je Windows Server 2008 hebt (niet R2 blijkbaar), maar ik heb deze vraag gevonden toen ik op zoek was naar een oplossing voor R2, zodat deze nuttig kan zijn voor sommige mensen.


3
2017-07-14 08:24



dit verwijdert alleen pre sp1-bestanden, niet bestanden van hotfixes die later zijn gekomen. - Hubert Kario


Een paar suggesties:

  • Waar is je wisselbestand?

  • Stel een testmachine in met dezelfde software om te zien of u het probleem kunt repliceren. Dit is absoluut niet normaal, en het enige dat ik kan bedenken is dat iets in die box constant een DLL (of iets dergelijks) aan het wijzigen is en dus maakt Windows er constant een back-up van.

15 GB is erg aan de lage kant voor een Windows 2008-installatie - mijn standaard C: schijf voor Windows 2008-builds is 60 GB.


1
2017-11-13 12:39



De 15 GB is de omvang van het pakket van de virtuele hostingprovider en elke extensie (we zijn begonnen met 10 GB) is erg duur. Dat is ook de reden waarom ik het wisselbestand nergens anders kan verplaatsen. - Pekka 웃
Oh ik vergat: om dezelfde reden is het repliceren van de machine niet zo eenvoudig om te doen. Het zal het laatste redmiddel zijn, tenzij iets anders werkt. - Pekka 웃
Dus verander van provider. - TomTom


http://tech.xlab.si/2009/07/move-winsxs-folder/

Dit artikel is gevonden maar nooit geprobeerd. Het lijkt erop dat er een manier is om over de map winsxs te gaan. als niemand dit kan proberen ga alsjeblieft door en laat het me weten


1
2018-03-09 11:50



Dat is de link van het antwoord van imagodei. - Cees Timmerman


De door Microsoft opgegeven systeemvereisten voor Server 2008 zijn "Schijfruimte: minimaal 32 GB of groter".

http://www.microsoft.com/windowsserver2008/en/us/system-requirements.aspx

Waarom denk je dat het comfortabel in de helft van die ruimte kan rennen?


1
2018-03-27 17:06



Ik huur een VPS-oplossing van een grote hostingprovider die oorspronkelijk een 10 GB-pakket was met 2008 Server vooraf geïnstalleerd. Ik neem aan dat ze hier op de een of andere manier voor gezorgd moeten hebben. Grote providers hebben Windows-pakketten van 10 GB of 20 GB: zie bijvoorbeeld bit.ly/h0AZsP. Er is mij verteld door de provider dat de mijne een bizarre zaak is - Pekka 웃
Mijn fout, ik heb een koppeling gemaakt naar Server 2008 R2 SP1-vereisten. Server 2008 vereist minimaal 8 Gb - microsoft.com/latam/windowsserver2008/sysreqs.mspx - maar beveelt 40Gb nog steeds aan. - TessellatingHeckler
bedankt voor de link. Echter, het kon of het besturingssysteem is bijgewerkt tussen - ik zal het onderzoeken - Pekka 웃