Pourquoi le fichier CBS.log a-t-il une taille de 20 Go?

129

Il y a deux jours, j'avais un C:lecteur complet , après quoi j'ai supprimé 8 Go de données. Le lendemain, le disque dur était à nouveau plein. Je poursuivis donc avec la suppression de 5 Go supplémentaires. Le lendemain, le disque était plein.

Après quelques recherches sur la cause de la saturation rapide de l'espace disque, j'ai utilisé l' windirstatoutil pour rechercher les fichiers qui occupaient le plus d'espace. J'ai découvert que le CBS.logfichier, qui se trouve dans c:\windows\logs\cbs\, a une taille de 20 Go.

J'utilise Windows 8.

  • Ce fichier doit-il être aussi volumineux, et sinon, comment puis-je réduire la taille?
  • Quel est le but de ce fichier?
  • Puis-je le supprimer?
skmasq
la source
Avez-vous ajouté la journalisation détaillée? blogs.technet.com/b/joscon/archive/2010/11/18/…
magicandre1981

Réponses:

34

Il s'agit d'un fichier généré par le vérificateur de ressources Microsoft Windows (SFC.exe).

Non, ça ne devrait pas être si gros. Le journal CBS.persist.log devrait être généré lorsque le CBS atteindra environ 50 mégohms. CBS.log doit être copié dans cbs.persist.log et un nouveau fichier cbs.log doit être démarré.

Vous pouvez essayer de compresser le fichier:

  • Si vous cliquez avec le bouton droit sur le fichier CBS.log
  • Puis cliquez sur Propriétés
  • Sous l'onglet Général, cliquez sur Avancé.
  • Cochez "Compresser le contenu pour économiser de l'espace disque" et cliquez sur OK

Ou, si vous êtes certain que votre système fonctionne correctement, vous pouvez supprimer ce fichier. SFC.exe en créera un nouveau lors de sa prochaine exécution. Mais cela pourrait être utile pour résoudre des problèmes.

Attarder
la source
16
Juste un FYI, CBS.logn'est pas généré par SFC. Bien que SFC y ajoute (avec la [SR]balise), il semble que TrustedInstaller.exe (également appelé CBS ou Component Based Servicing) est ce qui crée les fichiers journaux. Source: Comprendre les services basés sur les composants
Vinayak Le
3
Euh, je doute sérieusement que la compression NTFS empêche la forme TrustedInstaller d’essayer de s’exécuter makecabsur le fichier journal, qui mourra s’il a une taille> = 2 GiB. Une meilleure idée est de le compresser dans un autre format de compression explicite, ce qui lui donnerait généralement un nouveau nom de fichier, empêchant ainsi TrustedInstaller de le nourrir inutilement makecab...
SamB
5
@SamB est correct. Ce problème se produit car le format .CAB a une limite stricte de taille de fichier de 2 Go, et TrustedInstaller continue à émettre makecabrégulièrement, créant à chaque fois un nouveau fichier de ~ 100 Mo dans votre dossier temporaire. La solution consiste à supprimer le fichier journal de 2 Go (ce qui peut être fait en toute sécurité, car ils ne sont utilisés que pour le dépannage).
Syclone0044
6
Pourquoi cela est-il indiqué comme étant la bonne réponse lorsque @Vinayak suggère de donner des détails erronés? C’est sûrement à quoi sert la fonction "edit"?
Criggie
85

J'avais un fichier cbs.persist.log de 17 gb, car j'étais sûr que ce n'était pas moi qui remplissais mon ssd, j'ai recherché de gros fichiers inhabituels dans le répertoire des journaux de Windows. Pouvait penser à un problème de compression de toute façon.

Donc, pour réinitialiser la compression dans le dossier CBS, j'ai utilisé la méthode suivante:

  1. Désactiver TrustedInstaller.exe (programme d'installation de module Windows) dans les services du gestionnaire de tâches
  2. Supprimez tous les fichiers .log du répertoire C: \ Windows \ Logs \ CBS , supprimez également les fichiers .persist et .cab.
  3. Activer TrustedInstaller.exe à nouveau

REMARQUE: le nettoyage du dossier CBS réinitialise le processus de compression. Par conséquent, les nouveaux fichiers journaux créés ne doivent pas dépasser 50 Mo avant la compression dans les fichiers .cab, comme il se doit.

Il n'y a pas de résultat visuel direct, vous devez attendre qu'un tel fichier journal soit suffisamment volumineux.

Cette solution fonctionne toujours pour moi sur Windows 7/8 / 8.1 après 1 an

Bien que je ne puisse pas être sûr que la compression n'échouera plus jamais, si c'est le cas ... répétez simplement la solution à nouveau, mais veillez à désactiver TrustedInstaller avant de supprimer les fichiers du dossier CBS.

J'espère que cela t'aides.

Gin
la source
5
Comment désactiver Windows Module Installer? Dans la fenêtre "Services", tous les boutons pour démarrer, arrêter, reprendre, mettre en pause, etc. sont grisés. Le gestionnaire de tâches Windows ne parvient pas non plus à tuer TrustedInstaller.exe ..
Alph.Dev
3
@ Alph.Dev Démarrer services.mscvia Win + R ("Exécuter"), trouver le service, cliquer avec le bouton droit de la souris sur - Propriétés - Démarrer: Désactiver. Ensuite, redémarrez, nettoyez les fichiers et réglez-le à nouveau sur Manuel ou Automatique (automatique était la valeur par défaut sur mon système Win7).
chrki
Il existe un moyen plus simple, utilisez simplement LockHunter pour le supprimer.
Majkinetor
script PowerShell?
PreguntonCojoneroCabrón
27

Juste au cas où quelqu'un se demanderait pourquoi cela se produit en premier lieu. Je crois avoir reproduit les conditions spéciales (je suis sûr qu'il existe d'autres variantes de ces conditions qui pourraient provoquer le même résultat):

  1. J'ai lancé un très grand nombre de mises à jour Windows très volumineuses (un ensemble de modules de langue et de service packs, etc.), tandis qu'un grand nombre d'autres applications et fenêtres étaient également ouvertes (je suis un développeur). Je suis ensuite allé déjeuner.
  2. Windows Update a fonctionné jusqu'à ce que le système manque de mémoire vive (RAM). J'ai 32 gigaoctets, mais ce n'était pas suffisant.
  3. Le "Trusted Installer.exe" (service "Windows Module Installer") a tenté de compresser le fichier journal en pleine croissance, mais n'a pas pu être exécuté, car le journal a connu une croissance trop rapide ou il n'a pas pu démarrer en raison d'une mémoire insuffisante. ou les deux. Ainsi, lorsque cela était nécessaire, le service Windows Module Installer n’avait même pas démarré (même temporairement).
  4. À partir de ce moment, il ne pouvait plus traiter le fichier journal car il était trop volumineux pour la compression .CAB (environ 25 gigaoctets!). Le cycle vicieux avait donc commencé et rien ne pouvait l’arrêter (sauf par une intervention manuelle décrite par " Gin "ci-dessus).
  5. Une fois que le fichier journal a atteint 60 gigaoctets sur mon SSD, il a utilisé tout mon espace libre et j'ai reçu un avertissement «espace de stockage insuffisant», et j'ai commencé à en rechercher la cause.

Le processus suivant semble avoir résolu le problème: "désactiver le service Windows Module Installer, supprimer le contenu du dossier C: \ Windows \ Logs \ CBS \ et le dossier 'C: \ Windows \ Temp' - ignorer tous les fichiers en cours d'utilisation, puis Redémarrez le service Windows Module Installer et réglez-le sur "manuel" (par défaut) ". Redémarrer.

FirstFraktal
la source
2
Il y avait des milliers de fichiers dans c: \ windows \ temp sur ma machine - heureusement, en élaguant quelques centaines de fichiers, vous pourrez réellement réduire la croissance explosive de CBS.log
Toybuilder, le
10

Pour résoudre ce problème, sous Windows 7, si le service "Windows Modules Installer" est arrêté, son démarrage semble déclencher le processus de rotation du journal qui crée un nouveau fichier cbs.log et déplace l'ancien fichier dans une archive compressée CbsPersist. Mon fichier journal de 500 Mo a été compressé à 30 Mo.

Notez que l’exécution peut prendre quelques minutes. Le service semble s’arrêter automatiquement une fois que c’est fait.

ivanatpr
la source
10
Notez que cela ne fonctionne pas tout seul si l’un des fichiers a déjà atteint la marque 2GiB, comme makecababandonné dès qu’il arrive trop loin (en laissant un cab_*fichier corrompu %WINDIR%\Temp); dans ce cas, vous devez également vous débarrasser du CbsPersist_*.logfichier surdimensionné pour que TrustedInstaller ("Windows Modules Installer") n'essaye pas de s'exécuter makecabau démarrage. J'ai utilisé 7-zip pour compresser le mien en fichiers .log.xz, mais la suppression ou le changement de nom serait probablement aussi une option. Après cela, le redémarrer prendra en charge ceux de taille raisonnable.
SamB
6
@SamB est correct. Ce problème se produit car le format .CAB a une limite stricte de taille de fichier de 2 Go, et TrustedInstaller continue à émettre makecabrégulièrement, créant à chaque fois un nouveau fichier de ~ 100 Mo dans votre dossier temporaire. La solution consiste à supprimer le fichier journal de 2 Go (ce qui peut être fait en toute sécurité, car ils ne sont utilisés que pour le dépannage). Merci beaucoup SamB d'avoir posté, vous avez trouvé la cause première de ce problème. Je suis sur Windows 7 SP1 64 bits. Je ne peux pas croire que Microsoft n'a pas encore résolu ce problème.
Syclone0044
Si ce service est actif, choisir «Redémarrer» aura le même effet. L'effet n'est pas si important si vous avez défini le répertoire Logs \ CBS sur compressé.
PJTraill
5

Dans mon cas, je n'ai pas pu arrêter le service, même après la désactivation. Les étapes suivantes m'ont aidé à arrêter le service et à supprimer le journal CBS.

C:\Windows\system32>net stop TrustedInstaller
The requested pause, continue, or stop is not valid for this service.

More help is available by typing NET HELPMSG 2191.

C:\Windows\system32>sc qc TrustedInstaller
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: TrustedInstaller
    TYPE               : 10  WIN32_OWN_PROCESS
    START_TYPE         : 4   DISABLED
    ERROR_CONTROL      : 1   NORMAL
    BINARY_PATH_NAME   : C:\Windows\servicing\TrustedInstaller.exe
    LOAD_ORDER_GROUP   : ProfSvc_Group
    TAG                : 0
    DISPLAY_NAME       : Windows Modules Installer
    DEPENDENCIES       :
    SERVICE_START_NAME : localSystem

C:\Windows\system32>tasklist | find /i "TrustedInstaller.exe"
TrustedInstaller.exe          2164 Services                   0    132,404 K

C:\Windows\system32>taskkill /f /im "TrustedInstaller.exe"
SUCCESS: The process "TrustedInstaller.exe" with PID 2164 has been terminated.

Juste au cas où cela aiderait quelqu'un.

Gnaanaa
la source
Peut-être. C'est pourquoi nous devons arrêter le service comme ci-dessus pour supprimer le fichier journal.
Gnaanaa
1
Oui, mais comme vous ne pouvez pas l'arrêter manuellement, vous devez le désactiver et le redémarrer.
StackzOfZtuff
Sur mon W7x64, je ne pouvais pas désactiver le service mais je pouvais tuer TrustedInstaller.exe. Cela a supprimé le verrou du fichier et j'ai pu le supprimer.
user136036
1

Sur Server 2008 R2, My C:\windows\tempétait vide. J'ai essayé de supprimer les journaux cbs et un journal cbs de 2,5 Go renvoyé, alors j'ai vérifié C:\windows\tempaprès avoir tenté de supprimer le journal et qu'un grand nombre de .dmpfichiers y étaient apparus.

Supprimé ceux-ci et le fichier journal est maintenant parti. L'espace disque a été récupéré. (Le mien a continué à revenir même après l'avoir supprimé.)

J'espère que cela t'aides
la source