J'exécute un serveur virtuel (hébergé à distance) avec Windows 2008 Server pour un client. Au départ, il disposait de 10 Go d'espace. Au cours de quelques semaines - pendant lesquelles rien n’était fait sur la machine sauf un travail normal avec un système Web basé sur un ticket -, Windows commença à remplir son infâme répertoire "winsxs" à tel point que le disque dur fut finalement complet et nous avons dû commander un autre 5 Go. Trois semaines plus tard, ces 5 Go ont également été consommés par Winsxs et, encore une fois, je ne peux plus travailler sur la machine. Winsxs fait maintenant 8 Go, le reste du répertoire Windows 5 Go.
J'ai trouvé diverses sources sur le Web qui décrivent le même problème. Apparemment, Windows 2008 stocke toutes les versions linguistiques de toutes les DLL téléchargées dans le processus de mise à jour normal. La suppression d'éléments est décrite comme mortellement dangereuse car elle contient des composants vitaux. Je n'ai trouvé aucun outil ni instruction permettant d'identifier et de supprimer les fichiers devenus inutiles.
Que puis-je faire? Ce comportement est-il normal et, le cas échéant, comment gère-t-il les autres serveurs disposant d’un espace également limité? Y at-il quelque chose que je peux activer ou désactiver?
Parmi les rôles de serveur prédéfinis, seuls les "services de fichiers" (ou quelque chose comme ça s'appelle en anglais, c'est un serveur suisse) sont activés. De plus, j'ai installé Apache, MySQL et Subversion. Les mises à jour automatiques sont activées.
Edit: le problème persiste.
Remarque: Je suis conscient que le répertoire WinSXS consiste principalement en liens symboliques et que les utilisateurs paniquent souvent en regardant sa taille. Malgré tout, sur 15 Go d’espace, 1,5 Mo sont utilisés par les programmes et les données, et il ne reste plus rien . Je suis content de pouvoir même accéder à cette fichue machine. * J'ai déjà libéré 1 Go de données qui ont été remplies par Windows sous 24 heures. C'est comme dans un film d'horreur. Ce que j'ai essayé
- L'installation de SP2 (qui vient avec compcln.exe) n'est pas une option, car l'espace disque n'est même pas suffisant.
- Il n'y a pas de vsp1clean.exe sur la machine, probablement parce que le SP1 a déjà été fusionné dans le système. En fait, il n’existe aucun fichier nommé * cln.exe n’importe où.
- Il n'y a pas de clichés instantanés. Les clichés instantanés ne sont pas actifs.
- Autant que je sache, aucun point de restauration système n'est actif.
- Le seul rôle de serveur activé est "serveur de fichiers".
- La fonction standard de "nettoyage" (clic droit sur le lecteur C:) me propose un déroutant contenu de 2 Mo dans la corbeille et les fichiers Internet temporaires.
- Utiliser l'un des scripts de "nettoyage winxs" n'est pas une option pour moi, ils ont tous l'air trop louche. Je ne trouve rien directement de Microsoft qui réponde à ce problème.
la source
Réponses:
Le répertoire WinSxS n'occupe presque pas l'espace signalé par Explorer, car il utilise des liens physiques vers des fichiers physiques et non des fichiers réels. Explorer a juste des problèmes en rapportant la taille des liens durs.
Cet article sur l’ espace disque (référencé ici http://aspoc.net/archives/2008/11/20/winsxs-disk-space-and-windows-7/ ) explique en détail le répertoire WinSxS.
En ce qui concerne votre problème d'utilisation du disque - Vous pouvez essayer d'exécuter COMPCLN.EXE pour voir si vous pouvez nettoyer tous les anciens fichiers du service pack et des correctifs, ce qui devrait vous aider un peu. J'examinerais également tous les répertoires de journalisation pour voir s'il se passait autre chose.
la source
J'étais dans le même bateau que toi. J'avais 5 machines virtuelles 2008 toutes neuves et je les observais constamment, cela demande de plus en plus d'espace disque au cours de la dernière année. Permettez-moi d'illustrer avec windrstat.
Voici une capture d'écran d'un tout nouveau serveur 2008 :
3,8 Go de répertoire winsxs
Voici maintenant une capture d'écran d'un serveur de production 2008 :
Répertoire de 5.4xWinsxs
Enfin, une capture d’écran d’un tout nouveau serveur 2008R2 : répertoire WinSSs de 5,4 Go
D'après ce que je peux dire, il n'y a aucun moyen de tronquer le répertoire winsxs. WinSxS est synonyme de Windows côte à côte. Dans leur tentative de réduire les effets des enfers de DLL (c’est-à-dire les dépendances), Microsoft a décidé de conserver chaque version de chaque DLL jamais installée sur votre système dans le répertoire winsxs.
Cela signifie deux choses (je pense):
Bien qu'il existe des liens matériels dans Winsxs, les seuls liens matériels doivent être ceux des DLL actuelles. En d'autres termes, les DLL actuelles actives dans le système sont liées de nouveau à ce dossier winsxs.
Toutes les versions précédentes des DLL sont toujours disponibles et sauvegardées dans le répertoire winsxs. Comme vous pouvez le constater dans tous les exemples, si le répertoire winsxs était réellement "principalement des liens durs", il ne pourrait en aucun cas occuper plus de 50% de votre utilisation actuelle du disque. Maintenant, même s’il était vrai que le répertoire winsxs était "principalement constitué de liens durs", une utilisation de 50% signifierait que l’intégralité de votre lecteur C: était reliée dans le répertoire winsxs.
J'ai tout essayé. Suppression d'anciens fichiers, désinstallation de correctifs, suppression des répertoires de correctifs "$". Tout.
Finalement, j'ai fini par faire passer toutes les partitions C: sur tous mes serveurs à 30 Go chacune. Ce ne sera qu'un correctif temporaire, car le répertoire winsxs continuera à se développer. Bonne nouvelle cependant, car la dernière version de NTFS vous permet de développer vos partitions sans redémarrer. Comme c'est pratique.
WinSxS n'est pas simplement un répertoire ennuyeux, c'est une nouvelle méthodologie pour tous les développeurs Windows. WinSxS ne partira pas de si tôt. Les développeurs utilisent WinSxS et dépendent de cette fonctionnalité jusqu'à ce qu'une nouvelle méthodologie d'archivage des DLL ou de résolution des dépendances soit disponible.
Sur chaque nouvelle fenêtre Windows 2008/7 / Vista, j’ai le sentiment qu’un C: 30 Go est presque correct. Assez d'espace (pour l'instant) pour les correctifs, les journaux et quelques applications.
Je ne peux pas attendre que quelqu'un comprenne tout cela et commence à réactiver les DLL de pré-correctif avec des manifestes non fiables , qui deviennent des vecteurs d'attaque / exploit.
la source
D'après mon expérience, 15 Go ne suffiront pas, surtout s'il s'agit d'une machine 64 bits avec une certaine activité ...
L'extension du disque VPS, puis de la partition système, devrait être simple, sans aucune réinstallation, aussi coûteuse qu'elle soit. Offrir moins de 60 Go de disque système pour un VPS Windows Server moderne ne semble pas avoir été pensé, même si ~ 30 Go pouvaient le couper pendant un certain temps: 7
Une installation 32 bits supprime un peu la surcharge, et un serveur Core supprime beaucoup. Mon serveur de fichiers 32 bits Server 2008 Core, qui exécute svnserve, dfs, serveur d'impression, etc., et qui est mis à jour régulièrement, avoisine les 5 Go ... tandis que mon serveur 2008 bits 64 bits qui dessert des applications Web (asp.net et php avec IIS) prend 30 Go maintenant. Ces deux mesures excluent bien sûr les magasins / partitions de données, mais uniquement le système Windows. Ces deux exemples ne sont que des exemples. J'ai actuellement des disques système Server 2008 64 bits prenant entre 10 et 35 Go.
Chaque outil, mise à niveau ou application que vous installez augmentera le répertoire winsxs et la désinstallation n'aura pas d'effet sur winsxs car le système peut penser que ces dépendances sont utilisées par d'autres outils.
la source
C'est probablement trop tard pour vous, et uniquement basé sur l'expérience de Vista, mais:
Mon traitement après avoir omis de trouver des réponses satisfaisantes était de supprimer brutalement les dossiers les plus volumineux (et indésirables), par exemple:
En supposant que vous commenciez avec une bonne sauvegarde (image), essayez-la et voyez!
la source
Si possible, essayez de déplacer WinSXS vers une autre partition en guise d'une solution de contournement. À ma connaissance, il n’existe aucun moyen de se débarrasser du contenu de WinSXS. Ce mignon petit truc est au cœur du fonctionnement de Vista / Win2008, alors ... je n'ai rien entendu de mieux pour le transférer sur une autre partition.
Voici un lien vers un blog décrivant la marche à suivre: Cliquez sur
Je vous suggèrerais de faire une sauvegarde complète (encore mieux: une image) de votre partition C: entière avant d'essayer la procédure. Notez que je n'ai essayé cela que sur Vista, pas sur Win2008 Server.
la source
Si le principal coupable est WindowsUpdate, alors je dirais que votre seule alternative à l'achat de plus d'espace ou à la réalisation d'opérations sur les fichiers système est de limiter la croissance causée par les mises à jour à déclenchement facile de Microsoft.
Étant donné que vous utilisez principalement une plate-forme d'applications non-Microsoft, vous pouvez probablement vous passer de 90 à 95% des mises à jour "imporantes".
Par conséquent, vous pouvez désactiver les mises à jour automatiques, puis être TRÈS sélectif quant aux mises à jour "importantes" à appliquer. Appliquez uniquement ceux qui corrigent des vulnérabilités compromettant DIRECTEMENT votre plan de sécurité. La plupart des mises à jour "importantes" ne s'appliquent probablement pas à votre scénario de sécurité. Si c'est le cas, vous pouvez probablement modifier votre plan de sécurité afin de vous en passer (par exemple, n'utilisez pas IE sur le serveur, utilisez des services de fichiers alternatifs, renforcez la sécurité du réseau). .
la source
Si WinDirStat et le système d'exploitation lui-même (juste sous Poste de travail) indiquent la même quantité d'espace utilisé, il est insignifiant s'il est mal calculé en tant que liens durs. Si le système d'exploitation pense que vous êtes à court d'espace, vous êtes à court d'espace.
J'ai ce problème sur un serveur de stockage 2008 et un contrôleur de domaine (Server 2008). Aucun autre programme que les mises à jour Windows n'a été installé sur le contrôleur de domaine. Les deux serveurs consomment 15 Go d'espace sous WinSXS. HP avait préinstallé le serveur de stockage avec 40 Go sur C :, je suis donc également affecté par ce problème. Jusqu'à 5 Go d'espace libre.
Ce problème a été résolu dans Windows 8 / Server 2013 en utilisant DISM pour nettoyer les mises à jour obsolètes (dism.exe / online / cleanup-image / startcomponentcleanup). C’est donc un problème qu’elles ont reconnu. 2008.
la source
Dans Windows Server 2008 R2, vous pouvez utiliser DISM pour nettoyer WinSxS. Bien entendu, vous ne pourrez pas annuler les mises à jour après cette opération. Voici une explication: http://www.sqlskills.com/blogs/glenn/how-to-reclaim-disk-space-in-your-windowswinsxs-directory-on-windows-server-2008-r2-sp1/
En résumé, vous devez exécuter la commande suivante en tant qu'administrateur:
Je sais que cela pourrait ne pas être une solution pertinente pour vous puisque vous avez Windows Server 2008 (pas R2 apparemment), mais j'ai trouvé cette question lorsque je cherchais une solution pour R2, donc cela pourrait être utile pour certaines personnes.
la source
Quelques suggestions:
Où est votre fichier d'échange?
Configurez une machine de test avec le même logiciel pour voir si vous pouvez reproduire le problème. Ce n’est certainement pas normal, et la seule chose à laquelle je peux penser, c’est que quelque chose sur cette boîte modifie constamment une DLL (ou quelque chose du genre) et que Windows en fait constamment des sauvegardes.
15 Go est très faible pour une installation Windows 2008 - mon lecteur C: standard pour Windows 2008 est de 60 Go.
la source
http://tech.xlab.si/2009/07/move-winsxs-folder/
J'ai trouvé cet article, mais je ne l'ai jamais essayé. On dirait qu'il existe un moyen de passer par-dessus le dossier winsxs. si personne ne peut essayer cela s'il vous plaît allez-y et laissez-moi savoir
la source
La configuration système requise par Microsoft pour Server 2008 est "Espace disque: 32 Go minimum ou supérieur".
http://www.microsoft.com/windowsserver2008/en/us/system-requirements.aspx
Pourquoi pensez-vous qu'il peut fonctionner confortablement dans la moitié de cet espace?
la source
Une option à utiliser - s'il s'agit simplement d'un ancien VPS bon marché que vous utilisez pour des choses simples, il est alors intéressant d'activer la compression NTFS sur le disque ou dans des dossiers spécifiques:
Cela pourrait libérer de l'espace sur le lecteur. Les articles disent que c'est pour XP mais ce sont les mêmes étapes sur Win7 / 2008:
Comment utiliser la compression de fichier
la source
J'ai rencontré le même problème. Certes, WinSxs est en partie à blâmer ... Mais je pense que le problème est en partie dû à des outils tels que WinDirStat qui comptent la taille des fichiers et les jonctions de fichiers de la même manière. Une jonction n'est qu'un pointeur sur le fichier, pas une copie de tous les blocs qui composent le fichier.
J'ai trouvé que VSS est un plus grand coupable dans ce problème. Utilisez les commandes suivantes pour voir si VSS consomme trop d’espace disque, récupérez cet espace ou définissez une limite inférieure:
liste vssadmin shadowstorage
vssadmin Supprimer ShadowStorage / For = C: / On = C:
vssadmin Redimensionner ShadowStorage / For = C: / On = C: / MaxSize = 20%
la source