Restrinja la verbosidad de Windows CBS.log, establezca el nivel de registro, detenga la locura de información de hectomegabytes

18

En Windows 7 (Home Premium 64 Bit), se escriben cientos de megabytes de registro en los que nadie querrá leer C:\Windows\Logs\CBS\CBS.log. Echa un vistazo, estamos contando las líneas aquí:

$ 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

En palabras sencillas, el archivo de registro de CBS (CBS es la abreviatura de Servicios basados ​​en componentes , alias Trusted Installer , ver Comprensión del servicio basado en componentes , abril de 2008, Microsoft Technet ) en este momento ocupa 700 MB, 200 de los cuales escritos en los últimos 30 minutos , con la primera entrada derivada de hace 9 días.

En total, eso es cerca de 3 millones de entradas, y casi la totalidad en Loglevel Info . Eso sí, este es un formato de archivo de registro legible por humanos, aparentemente no para el procesamiento de la máquina. No sé sobre ti, pero la noción de que debería molestarme en tener en cuenta 3 millones de líneas de información por defecto me parece que raya en lo absurdo.

Quiero que esto se detenga porque la actividad del disco y la CPU no tiene otro propósito que ralentizar innecesariamente el sistema .

Entonces: ¿Cómo configuro el nivel de registro en Advertencia o Error ? ¿Dónde se documenta esto?

Además: ¿Imagina que en lugar de leer cientos de megas de información (por poco más de una semana) solo mantendría las ~ 100 líneas de error ? ¿No tendría sentido y proporcionaría pistas para la resolución de problemas? Entonces aún tendría la opción de activar Información en caso de que surja un problema de instalación no obvio.

Actualizar:

Al leer los comentarios, parece que no formulé mi pregunta con suficiente claridad. Estoy no preguntando cómo filtrar el archivo de registro Humungous con las utilidades de línea de comandos - porque ya sé cómo hacerlo. También estoy no preguntando cómo tratar con los archivos de registro en el camino de la rotación de registros - porque Windows lo hará por sí solo cuando el archivo alcanza un umbral desconocido (aunque encontrará gente que pregunta por qué el archivo alcanza 20 gigas ). Lo que estoy preguntando es simplemente cómo evitar que este registro de hectomegabytes loco ocurra en primer lugar, probablemente estableciendo el nivel de registro en algo más alto que Información. Simplemente no puedo encontrar la documentación sobre cómo establecer el nivel de registro, posiblemente porque no existe públicamente. Pero debe haber una manera porque cualquier software decente proporciona una manera de establecer el nivel de registro.

Actualización 2:

Ver la respuesta dada. La configuración del registro parece surtir efecto y cerrar el registro por completo. Lo cual está bien y es un valor predeterminado mucho mejor que el actual. Para poder editar el registro, debe corregir los permisos; consulte el apéndice.

Apéndice: permisos en Component Based Servicingclave de registro

Cuando se intenta establecer EnableLogque 0, probablemente notará que no tiene acceso de escritura HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingy cosas por debajo de ella. Debe ir a "Editar» Permisos " regedity luego tomar posesión antes de que se le permita hacer modificaciones:

Tomar posesión y otorgarse permiso de escritura

Lumi
fuente
3
+5 "locura de información hectomegabyte"
Moab
2
El registro de CBS se puede filtrar desde el símbolo del sistema, aquí hay un ejemplo de uno que uso después de ejecutar el Comprobador de archivos del sistema, cuando se ejecuta muestra la información SFC relevante en un archivo de texto en mi escritorio. "Findstr / c:" [SR] "% windir% \ Logs \ CBS \ CBS.log>% userprofile% \ Desktop \ sfcdetails.tx"
Moab
@Tetsujin gracias, se preguntaba si había otros comandos findtr para otros registros pero google no encontró nada.
Moab
2
Estimado @Tetsujin, tenga en cuenta que el nivel de registro es solo Información , no Depuración , lo que implicaría una mayor verbosidad. Consulte el artículo de Technet Cómo habilitar el registro detallado de CBS , noviembre de 2010, por joscon para descubrir que puede hacer que el registro sea aún más detallado. Joscon afirma en un comentario que "... la forma en que se establece por defecto es la menos detallada que obtiene el registro". Eso es inaceptable. Es el tipo de cosas que ralentiza innecesariamente su sistema. No es lo que los usuarios quieren. Tal vez una edición binaria servirá.
Lumi
En Windows Server 2008, esto hará que TrustedInstaller.exe empiece a fallar cada 15 minutos. O al menos, creo que esta es la causa; He estado rastreando esto por algún tiempo ahora. Mi intento actual de una solución alternativa es crear un CBS.log vacío y eliminar todos los permisos, denegando el acceso. Aún no se ha confirmado si esto funciona, ya que lleva un tiempo de actividad antes de que comience a suceder.
theultramage

Respuestas:

11

Como respuesta parcial, aquí está la configuración para detener el registro por completo: en el registro, navegue hasta

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

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

usuario1016274
fuente
1
Gracias, eso parece funcionar. Después de realizar la edición, detuve el servicio TrustedInstaller y luego instalé una actualización (KB3078667). No se ha registrado un solo personaje, ¡sí! Para realizar la edición, debe tomar posesión de la Component Based Servicingclave; de forma predeterminada, solo TrustedInstaller puede escribirle a él y a sus subordinados. Vea la captura de pantalla adjunta a mi pregunta.
Lumi
TrustedInstaller se puede encontrar en Panel de control> Herramientas administrativas> Servicios bajo el nombre del Instalador de módulos de Windows (win7).
Ogmios
2

El registro CBS también se llena con cleanmgr con aproximadamente 150-200Mb de datos, incluso mientras se limpia casi "nada", llenando así su disco en lugar de limpiarlo.

Encontré que el registro de CBS se puede borrar después de detener el servicio TrustedInstaller, reiniciar el instalador del módulo de Windows luego comenzará el servicio nuevamente. Tenga en cuenta que Microsoft utiliza el registro en algunos programas de depuración.

usuario679857
fuente