Warum ist CBS.log Dateigröße 20 GB

129

Vor zwei Tagen hatte ich eine volle C:Festplatte, danach habe ich 8 GB Daten gelöscht. Am nächsten Tag war die Festplatte wieder voll, sodass ich weitere 5 GB löschte. Am nächsten Tag war die Festplatte wieder voll.

Nachdem ich nach dem windirstatGrund gesucht hatte, warum der Speicherplatz so schnell voll war, fand ich mit dem Tool heraus, welche Dateien den meisten Speicherplatz beanspruchten. Ich fand heraus, dass die CBS.logDatei, in der sich befindet c:\windows\logs\cbs\, 20 GB groß ist.

Ich benutze Windows 8.

  • Sollte diese Datei so groß sein, und wenn nicht, wie kann ich sie verkleinern?
  • Was ist der Zweck dieser Datei?
  • Kann ich es löschen?
skmasq
quelle
Haben Sie die ausführliche Protokollierung hinzugefügt? blogs.technet.com/b/joscon/archive/2010/11/18/…
magicandre1981

Antworten:

34

Das ist eine Datei, die von dem Microsoft Windows Resource Checker (SFC.exe) generiert wird.

Nein, es sollte nicht so groß sein. Das CBS.persist.log sollte generiert werden, wenn das CBS eine Größe von ungefähr 50 Megabyte hat. CBS.log sollte nach cbs.persist.log kopiert und eine neue cbs.log-Datei gestartet werden.

Sie können versuchen, die Datei zu komprimieren:

  • Wenn Sie mit der rechten Maustaste auf die Datei CBS.log klicken
  • Klicken Sie dann auf Eigenschaften
  • Klicken Sie auf der Registerkarte Allgemein auf Erweitert
  • Aktivieren Sie "Inhalte komprimieren, um Speicherplatz zu sparen" und klicken Sie auf "OK"

Wenn Sie sicher sind, dass Ihr System einwandfrei funktioniert, können Sie diese Datei löschen. SFC.exe erstellt beim nächsten Start eine neue. Es kann jedoch hilfreich sein, um Probleme zu beheben.

Verweilen
quelle
16
Nur ein FYI, CBS.logwird nicht von SFC generiert. Während SFC daran anhängt (mit dem [SR]Tag), scheint TrustedInstaller.exe (auch bekannt als CBS, Component Based Servicing) das zu sein, was die Protokolldateien erstellt. Quelle:
Vinayak
3
Ähm, ich bezweifle ernsthaft, dass die NTFS-Komprimierung verhindert, dass das TrustedInstaller-Formular versucht, makecabin der Protokolldatei ausgeführt zu werden, die bei einer Größe von> = 2 GiB abstürzt. Eine bessere Idee ist es, es in einem anderen expliziten Komprimierungsformat zu komprimieren, bei dem es normalerweise einen neuen Dateinamen makecab
erhält.
5
@SamB ist korrekt. Dieses Problem tritt auf, weil das CAB-Format eine feste Beschränkung der Dateigröße von 2 GB aufweist und TrustedInstaller weiterhin makecabroutinemäßig Probleme verursacht und jedes Mal eine neue ~ 100 MB-Datei in Ihrem temporären Ordner erstellt. Die Lösung besteht darin, die 2-GB-Protokolldatei zu entfernen (was ohne Bedenken möglich ist, da diese nur zur Fehlerbehebung verwendet werden).
Syclone0044
6
Warum wird dies als die richtige Antwort markiert, wenn @ Vinayak vorschlägt, dass die Angaben falsch sind? Sicherlich ist das, was die "Bearbeiten" -Funktion ist?
Criggie
85

Ich hatte eine cbs.persist.log-Datei mit einer Größe von 17 GB, da ich mir sicher war, dass ich nicht meine SSD ausfüllte, suchte ich im Windows-Protokollverzeichnis nach ungewöhnlich großen Dateien. Konnte sowieso nur an ein Komprimierungsproblem denken.

Um die Komprimierung im CBS-Ordner zurückzusetzen, habe ich die folgende Methode verwendet:

  1. Deaktivieren Sie TrustedInstaller.exe (Windows Module Installer) in den Taskmanager-Diensten
  2. Löschen Sie alle .log-Dateien im Verzeichnis C: \ Windows \ Logs \ CBS . Löschen Sie auch die .persist- und .cab-Dateien
  3. Aktivieren Sie TrustedInstaller.exe erneut

HINWEIS: Durch das Bereinigen des CBS-Ordners wird der Komprimierungsprozess zurückgesetzt, sodass die neu erstellten Protokolldateien vor der Komprimierung in CAB-Dateien nicht größer als 50 MB werden sollten.

Es gibt kein direktes visuelles Ergebnis, Sie müssen warten, bis eine solche Protokolldatei groß genug ist.

Diese Lösung funktioniert für mich auch nach 1 Jahr noch unter Windows 7/8 / 8.1

Ich kann zwar nicht sicher sein, dass die Komprimierung nie wieder fehlschlägt, wenn dies der Fall ist ... dann wiederholen Sie einfach die Lösung erneut, aber stellen Sie sicher, dass TrustedInstaller deaktiviert ist, bevor Sie die Dateien im CBS-Ordner löschen.

Hoffe das hilft.

Gin
quelle
5
Wie deaktiviere ich den Windows Module Installer? Im Fenster "Dienste" sind alle Schaltflächen zum Starten, Stoppen, Fortsetzen, Anhalten usw. ausgegraut. Der Windows Task-Manager kann auch TrustedInstaller.exe nicht
beenden
3
@ Alph.Dev services.mscÜber Win + R starten ("Ausführen"), den Dienst suchen, mit der rechten Maustaste auf - Eigenschaften - Start: Deaktivieren klicken. Starten Sie dann neu, bereinigen Sie die Dateien und stellen Sie sie wieder auf "Manuell" oder "Automatisch" ein (auf meinem Win7-System war "Automatisch" die Standardeinstellung).
Chrki
Es gibt eine einfachere Möglichkeit, es einfach mit LockHunter zu löschen.
Majkinetor
Powershell-Skript?
PreguntonCojoneroCabrón
27

Nur für den Fall, dass sich jemand fragt, warum dies überhaupt passiert. Ich glaube, ich habe die speziellen Bedingungen reproduziert (ich bin sicher, dass es andere Variationen dieser Bedingungen gibt, die dasselbe Ergebnis verursachen könnten):

  1. Ich habe eine sehr große Anzahl sehr großer Windows-Updates gestartet (eine Reihe von Sprachpaketen und Service Packs usw.), während ich auch eine große Anzahl anderer Apps und Fenster geöffnet hatte (ich bin ein Entwickler). Ich ging dann zum Mittagessen.
  2. Windows Update wurde ausgeführt, bis das System nicht mehr genügend Arbeitsspeicher (RAM) hatte. Ich habe 32 Gigabyte, aber es hat nicht gereicht.
  3. Der Dienst "Trusted Installer.exe" ("Windows Module Installer") hat versucht, die schnell wachsende Protokolldatei zu komprimieren, konnte jedoch nicht ausgeführt werden, da das Protokoll zu schnell gewachsen ist oder aufgrund von Speichermangel nicht gestartet werden konnte. oder beides. Bei Bedarf wurde der Windows Module Installer-Dienst (auch vorübergehend) überhaupt nicht gestartet.
  4. Von da an konnte es die Protokolldatei nicht mehr verarbeiten, da sie für die .CAB-Komprimierung (ca. 25 Gigabyte!) Zu groß war. Der Teufelskreis hatte also begonnen, und nichts konnte ihn aufhalten (außer durch manuelle Eingriffe, wie in " Gin "oben).
  5. Nachdem die Protokolldatei auf meiner SSD auf 60 Gigabyte angewachsen war, belegte sie meinen gesamten freien Speicherplatz und ich erhielt die Warnung "Wenig Speicherplatz" und begann, nach der Ursache zu suchen.

Der folgende Prozess scheint das Problem behoben zu haben: "Deaktivieren Sie den Windows Module Installer-Dienst, löschen Sie den Inhalt des Ordners C: \ Windows \ Logs \ CBS \ und des Ordners 'C: \ Windows \ Temp', und überspringen Sie dann alle verwendeten Dateien Starten Sie den Windows Module Installer - Dienst erneut und stellen Sie ihn auf "manuellen Start" (Standardeinstellung). " Starten Sie neu.

FirstFraktal
quelle
2
Es gab Tausende von Dateien in c: \ windows \ temp auf meinem Computer - hoffentlich hat das Beschneiden auf ein paar hundert Dateien den richtigen Effekt, um das explosive Wachstum von CBS.log
Toybuilder am
10

Wenn der Dienst "Windows Modules Installer" unter Windows 7 beendet wird und gestartet wird, wird als Problemumgehung der Protokollrotationsprozess ausgelöst, bei dem eine neue cbs.log-Datei erstellt und die alte Datei in ein komprimiertes CbsPersist-CAB-Archiv verschoben wird. Meine 500-MB-Protokolldatei wurde auf 30 MB komprimiert.

Beachten Sie, dass die Ausführung einige Minuten dauern kann. Der Dienst scheint sich automatisch zu stoppen, sobald er fertig ist.

ivanatpr
quelle
10
Beachten Sie, dass von selbst funktioniert nicht, wenn eine der Dateien die 2GiB Marke bereits getroffen hat, als makecabnur gibt, wenn es so weit kommt in (eine beschädigte verlassenen cab_*Datei in %WINDIR%\Temp); In diesem Fall müssen Sie auch über die übergroße CbsPersist_*.logDatei verfügen, damit TrustedInstaller ("Windows Modules Installer") makecabbeim Start nicht versucht, sie auszuführen . Ich habe 7-zip verwendet, um meine in .log.xz-Dateien zu komprimieren, aber das Löschen oder Umbenennen wäre vermutlich auch eine Option. Nach dem Neustart werden die relativ großen Dateien wiederhergestellt.
SamB
6
@SamB ist korrekt. Dieses Problem tritt auf, weil das CAB-Format eine feste Beschränkung der Dateigröße von 2 GB aufweist und TrustedInstaller weiterhin makecabroutinemäßig Probleme verursacht und jedes Mal eine neue ~ 100 MB-Datei in Ihrem temporären Ordner erstellt. Die Lösung besteht darin, die 2-GB-Protokolldatei zu entfernen (was ohne Bedenken möglich ist, da diese nur zur Fehlerbehebung verwendet werden). Vielen Dank an SamB für das Posten, Sie haben die Ursache für dieses Problem erreicht. Ich bin auf Windows 7 SP1 64-Bit. Ich kann nicht glauben, dass Microsoft dies noch nicht behoben hat.
Syclone0044
Wenn dieser Dienst aktiv ist, hat die Auswahl von "Neustart" den gleichen Effekt. Der Effekt ist nicht so groß, wenn Sie das Verzeichnis Logs \ CBS als komprimiert festgelegt haben.
PJTraill
5

In meinem Fall konnte ich den Dienst auch nach der Deaktivierung nicht beenden. Die folgenden Schritte halfen mir, den Dienst zu beenden und das CBS-Protokoll zu entfernen.

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.

Nur für den Fall, wenn es jemandem helfen würde.

gnaanaa
quelle
Ein Mitglied in MS-Foren gibt an, dass dies beabsichtigt
StackzOfZtuff
Möglicherweise. Aus diesem Grund müssen wir den Dienst wie oben beenden, um die Protokolldatei zu entfernen.
Gnaanaa
1
Ja, aber da Sie es nicht manuell stoppen können, müssen Sie es deaktivieren und neu starten.
StackzOfZtuff
Auf meinem W7x64 konnte ich den Dienst nicht deaktivieren, aber ich konnte TrustedInstaller.exe töten. Dadurch wurde die Sperre aus der Datei entfernt und ich konnte sie löschen.
user136036
1

Auf Server 2008 R2 war My C:\windows\templeer. Ich habe versucht, cbs-Protokolle C:\windows\tempzu löschen, und es wurde immer wieder ein 2,5-GB-cbs-Protokoll zurückgegeben. Daher habe ich nach dem Versuch, das Protokoll zu löschen , überprüft, dass dort eine große Anzahl von .dmpDateien angezeigt wurde.

Gelöschte diese und die Protokolldatei ist jetzt weg. Der Speicherplatz wurde wiederhergestellt. (Mine kehrte auch nach dem Löschen immer wieder zurück.)

Hoffe das hilft
quelle