Beschränken Sie die Ausführlichkeit von Windows CBS.log, legen Sie die Protokollebene fest und stoppen Sie den Hektomegabyte-Infoverrücktheit

18

Unter Windows 7 (Home Premium 64 Bit) werden Hunderte von Megabyte Protokolldaten geschrieben , die niemand lesen möchte C:\Windows\Logs\CBS\CBS.log. Schauen Sie, wir zählen die Zeilen hier:

$ dir C:\Windows\Logs\CBS\CBS.log
03.10.2015  16:21       726.097.704 CBS.log
$ findstr /b 2015- C:\Windows\Logs\CBS\CBS.log | find /c ", Info"
2990118
$ findstr /b 2015- C:\Windows\Logs\CBS\CBS.log | find /c /v ", Info"
102

Kurz gesagt, die CBS-Protokolldatei (CBS steht für Component Based Services , alias Trusted Installer , siehe Grundlegendes zum komponentenbasierten Servicing , April 2008, Microsoft Technet ) nimmt derzeit 700 MB ein, von denen 200 in den letzten 30 Minuten erstellt wurden , mit dem ersten Eintrag von vor 9 Tagen.

Insgesamt sind das fast 3 Millionen Einträge und fast die gesamte Anzahl davon bei loglevel Info . Wohlgemerkt, dies ist ein für Menschen lesbares Protokolldateiformat, anscheinend nicht für die maschinelle Verarbeitung. Ich weiß nichts über dich, aber die Vorstellung, dass ich mir die Mühe machen sollte, 3 Millionen Info- Zeilen zu berücksichtigen, scheint mir absurd.

Ich möchte, dass dies gestoppt wird, da die Festplatten- und CPU-Aktivität nur dazu dient, das System unnötig zu verlangsamen .

Also: Wie setze ich die Protokollebene auf Warnung oder Fehler ? Wo ist das dokumentiert?

Plus: Stellen Sie sich vor , dass statt durch Hunderte von megs waten Info (für etwas mehr als eine Woche) nur die ~ 100 halten würde Fehler Linien? Würde das nicht einfach Sinn machen und Hinweise zur Fehlerbehebung geben? Sie haben dann weiterhin die Möglichkeit, Info zu aktivieren, falls ein nicht offensichtliches Installationsproblem auftritt.

Aktualisieren:

Als ich die Kommentare las, schien ich meine Frage nicht klar genug formuliert zu haben. Ich frage nicht , wie man die humorvolle Protokolldatei mit Befehlszeilendienstprogrammen filtert - weil ich bereits weiß, wie man das macht. Ich frage auch nicht , wie ich mit den Protokolldateien auf dem Weg der Protokollrotation umgehen soll - denn Windows erledigt das von selbst, wenn die Datei einen unbekannten Schwellenwert erreicht (obwohl Sie Leute finden, die fragen, warum die Datei 20 Gigs erreicht ). Was ich bin gefragt ist einfach , wie diese verrückte hectomegabyte Protokollierung von dem Auftreten zu stoppen in erster Linie, die wahrscheinlich durch die Protokollebene einstellen , um etwas höher als Info. Ich kann die Dokumentation zum Festlegen der Protokollebene nicht finden, möglicherweise, weil sie nicht öffentlich verfügbar ist. Aber es muss einen Weg geben, denn jede anständige Software bietet die Möglichkeit, den Protokollierungsgrad festzulegen.

Update 2:

Siehe die Antwort gegeben. Die Registrierungseinstellung scheint wirksam zu werden und die Anmeldung vollständig zu beenden. Welches ist in Ordnung und ein viel besserer Standard als der aktuelle. Um die Registrierung bearbeiten zu können, müssen Sie die Berechtigungen korrigieren - siehe Anhang.

Anhang: Berechtigungen für Component Based ServicingRegistrierungsschlüssel

Wenn Sie Satz versuchen EnableLogzu 0, werden Sie wahrscheinlich feststellen , dass Sie Schreibzugriff auf nicht HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingund Sachen darunter. Sie müssen in "Bearbeiten» Berechtigungen "gehen regeditund dann den Besitz übernehmen, bevor Sie Änderungen vornehmen können:

Übernehmen Sie das Eigentumsrecht und erteilen Sie sich eine schriftliche Erlaubnis

Lumi
quelle
3
+5 "Hektomegabyte Info Wahnsinn"
Moab
2
Das CBS-Protokoll kann über die Eingabeaufforderung gefiltert werden. Hier ist ein Beispiel für ein Protokoll, das ich nach dem Ausführen des Systemdatei-Überprüfungsprogramms verwende. Beim Ausführen werden die relevanten SFC-Informationen in einer Textdatei auf meinem Desktop ausgegeben. "findstr / c:" [SR] "% windir% \ Logs \ CBS \ CBS.log>% userprofile% \ Desktop \ sfcdetails.tx"
Moab
@Tetsujin danke, habe mich gefragt, ob es andere findstr-Befehle für andere Logs gibt, aber google hat nichts gefunden.
Moab
2
Sehr geehrte @Tetsujin, bitte beachten Sie, dass die Protokollebene nur Info , nicht Debug ist , was eine erhöhte Ausführlichkeit implizieren würde. Lesen Sie den Technet-Artikel So aktivieren Sie die ausführliche CBS-Protokollierung im November 2010 von joscon , um herauszufinden, dass Sie die Protokollierung noch ausführlicher gestalten können. In einem Kommentar von Joscon heißt es, dass »… die Art und Weise, in der das Protokoll standardmäßig festgelegt wird, am wenigsten detailliert ist.« Das ist inakzeptabel. Es ist die Art von Dingen, die Ihr System unnötig verlangsamen. Nicht das, was Benutzer wollen. Vielleicht reicht ein Binary Edit.
Lumi
Unter Windows Server 2008 führt dies dazu, dass TrustedInstaller.exe alle 15 Minuten abstürzt. Zumindest glaube ich, dass dies die Ursache ist. Ich verfolge das jetzt schon seit einiger Zeit. Mein aktueller Versuch, dieses Problem zu umgehen, besteht darin, ein leeres CBS.log zu erstellen, alle Berechtigungen zu entfernen und den Zugriff zu verweigern. Habe noch nicht bestätigt, ob dies funktioniert, da es einige Zeit dauert, bis es losgeht.
Theultramage

Antworten:

11

Als Teilantwort hier ist die Einstellung, die Protokollierung ganz zu beenden: Navigieren Sie in der Registrierung zu

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing]

und setzen EnableLog 0. Quelle: https://technet.microsoft.com/en-us/library/cc732334%28v=ws.10%29.aspx#CBS

user1016274
quelle
1
Danke, das scheint zu funktionieren. Nach der Bearbeitung habe ich den TrustedInstaller-Dienst beendet und anschließend ein Update installiert (KB3078667). Es wurde kein einziger Charakter protokolliert, ja! Um die Bearbeitung vornehmen zu können, müssen Sie den Besitz des Component Based ServicingSchlüssels übernehmen. Standardmäßig kann nur TrustedInstaller darauf und auf seine Untergebenen schreiben. Siehe den Screenshot an meiner Frage.
Lumi
TrustedInstaller finden Sie in der Systemsteuerung unter Verwaltung> Dienste unter dem Namen Windows Modules Installer (win7).
Ogmios
2

Das CBS-Protokoll wird von cleanmgr auch dann mit ca. 150-200 MB Daten gefüllt, wenn fast nichts gesäubert wird. Dadurch wird die Festplatte anstelle der Reinigung gefüllt.

Ich habe festgestellt, dass das CBS-Protokoll nach dem Beenden des TrustedInstaller-Dienstes gelöscht werden kann. Wenn Sie anschließend den Windows Module Installer neu starten, wird der Dienst erneut gestartet. Beachten Sie, dass das Protokoll von Microsoft in einigen Debugging-Programmen verwendet wird.

user679857
quelle