Questão Por que o tamanho do arquivo CBS.log é de 20 GB


Dois dias atrás eu tinha um completo C: unidade, após o qual eu apaguei 8 GB de dados. No dia seguinte, o disco rígido estava cheio novamente, então continuei excluindo outros 5 GB e, mais uma vez, no dia seguinte, o disco estava cheio.

Depois de pesquisar o que causou o preenchimento rápido do espaço em disco, usei o windirstat ferramenta para encontrar quais arquivos ocupavam mais espaço. Eu descobri que o CBS.log arquivo, que está localizado em c:\windows\logs\cbs\tem 20 GB de tamanho

Eu estou usando o Windows 8.

  • Esse arquivo deve ser tão grande e, se não, como posso reduzir o tamanho?
  • Qual é o objetivo deste arquivo?
  • Posso deletar?

127


origem


você adicionou o registro detalhado? blogs.technet.com/b/joscon/archive/2010/11/18/… - magicandre1981


Respostas:


Esse é um arquivo que é gerado pelo Microsoft Windows Resource Checker (SFC.exe).

Não, não deveria ser tão grande assim. O CBS.persist.log deve ser gerado quando o CBS chega a cerca de 50 meg de tamanho. CBS.log deve ser copiado para cbs.persist.log e um novo arquivo cbs.log deve ser iniciado.

Você pode tentar compactar o arquivo:

  • Se você clicar com o botão direito no arquivo CBS.log
  • Então clique em Propriedades
  • Na guia Geral, clique em Avançado.
  • Marque "Compactar conteúdo para economizar espaço em disco" e clique em OK

Ou, se tiver certeza de que seu sistema está funcionando bem, você pode excluir este arquivo. O SFC.exe criará um novo, da próxima vez que for executado. Mas pode ser útil para solucionar problemas.


34



Apenas um FYI, CBS.log não é gerado pelo SFC. Enquanto o SFC anexa a ele (com o [SR] tag) parece TrustedInstaller.exe (também conhecido como CBS aka Component Based Servicing) é o que cria os arquivos de log. Fonte: Entendendo o serviço baseado em componentes - Vinayak
Hum, duvido seriamente que a compactação NTFS impeça que o TrustedInstaller tente executar makecab no arquivo de log, que morrerá se for> = 2 GiB em tamanho. Uma ideia melhor é compactá-lo em algum outro formato de compactação explícito, o que normalmente forneceria um novo nome de arquivo, evitando assim que o TrustedInstaller o alimentasse inutilmente. makecab... - SamB
@ SamB está correto. Esse problema ocorre porque o formato .CAB tem uma limitação rígida de tamanho de arquivo de 2GiB e o TrustedInstaller continuará a emitir makecabrotineiramente, criando um novo arquivo ~ 100MiB em sua pasta temp a cada vez. A solução é remover o arquivo de log de 2 GB (que pode ser feito com segurança, pois eles são usados ​​apenas para solução de problemas). - Syclone0044
Por que isso é marcado como a resposta correta quando @Vinayak sugere que ele tem detalhes errados? Certamente é para isso que serve a função "editar"? - Criggie


Eu tinha um arquivo cbs.persist.log de 17 gb, como eu tinha certeza de que não era eu preenchendo meu ssd, procurei arquivos grandes incomuns no diretório de log do windows. Só poderia pensar em um problema de compactação de qualquer maneira.

Então, para redefinir a compactação na pasta CBS, usei o seguinte método:

  1. Desabilitar o TrustedInstaller.exe (Instalador do Módulo do Windows) nos Serviços do Gerenciador de Tarefas
  2. Exclua todos os arquivos .log no diretório C: \ Windows \ Logs \ CBS diretório, exclua os arquivos .persist e .cab, bem
  3. Ativar o TrustedInstaller.exe novamente

Observação: Limpar a pasta CBS redefine o processo de compactação, portanto, os novos arquivos de log criados não devem ficar maiores que 50 Mb antes da compactação em arquivos .cab como deveria ser.

Não há resultado visual direto, você precisa esperar até que esse arquivo de log seja grande o suficiente.

Esta solução ainda funciona para mim no Windows 7/8 / 8.1 após 1 ano

Embora eu não possa ter certeza de que a compressão nunca falhará novamente, se isso acontecer ... em seguida, basta repetir a solução novamente, mas certifique-se de desativar o TrustedInstaller antes de excluir os arquivos na pasta CBS.

Espero que isto ajude.


85



Obrigado por isso! "makecab.exe" estava me enlouquecendo, mantendo todos os 4 núcleos em 50% e lançando mensagens de Detecção de Serviços Interativos o tempo todo. Finalmente, o Windows está se comportando novamente. - bythescruff
Como você desabilita o Windows Module Installer? Na janela "Serviços", todos os botões para iniciar, parar, retomar, pausar, etc. ficam esmaecidos. Gerenciador de tarefas do Windows também é incapaz de matar TrustedInstaller.exe .. - Alph.Dev
@ Alph.Dev Eu também - cja
@ Alph.Dev Start services.msc via Win + R ("Executar"), encontrar o serviço, clique direito - Propriedades - Iniciar: Desativar. Em seguida, reinicie, limpe os arquivos e configure-o de volta para Manual ou Automático (automático era o padrão no meu sistema Win7). - chrki
Há uma maneira mais fácil, basta usar o LockHunter para apagá-lo. - majkinetor


Apenas no caso de alguém se perguntar por que isso acontece em primeiro lugar. Acredito que reproduzi as condições especiais (tenho certeza de que existem outras variações dessas condições que podem causar o mesmo resultado):

  1. Eu iniciei um grande número de atualizações muito grandes do Windows (um monte de pacotes de idiomas e service packs etc.), enquanto eu também tinha um grande número de outros aplicativos e janelas abertas (sou um desenvolvedor). Então fui almoçar.
  2. O Windows Update foi executado até o sistema ficar sem memória (RAM). eu tenho 32 Gigabytes, mas não foi suficiente.
  3. O "Trusted Installer.exe" (serviço "Windows Module Installer") tentou compactar o arquivo de log de rápido crescimento, mas não pôde ser executado, ou porque o log cresceu muito rápido, ou não pôde começar devido a pouca memória ou ambos. Então, quando foi necessário, o módulo do Windows O serviço de instalação nem sequer foi iniciado (mesmo temporariamente).
  4. A partir daí, não foi possível lidar com o arquivo de log, como também grande para a compressão .CAB (cerca de 25 Gigabytes!) e assim o ciclo vicioso tinha começado e nada poderia pará-lo (exceto pelo manual intervenção como descrito por "Gin" acima).
  5. Uma vez que o arquivo de log cresceu para 60 Gigabytes no meu SSD, ele usou todos os meus espaço livre e eu tenho um aviso de "baixo espaço de armazenamento", e começou procurando a causa.

O processo a seguir parece ter corrigido o problema: "desative o serviço Windows Module Installer, exclua o conteúdo da pasta C: \ Windows \ Logs \ CBS \ e a pasta 'C: \ Windows \ Temp' - ignorando os arquivos em uso e, em seguida, inicie o serviço Instalador do Módulo do Windows novamente e defina-o como 'manual' (o padrão) ". Reinicie.


26



Nice post, muito interessante. - zb226
Havia milhares de arquivos em c: \ windows \ temp em minha máquina - esperançosamente, podar isso para algumas centenas de arquivos terá o efeito certo na redução do crescimento explosivo da CBS.log - Toybuilder


Como solução alternativa, no Windows 7, se o serviço "Instalador de Módulos do Windows" for interrompido, a inicialização parecerá acionar o processo de rotação de logs que cria um novo arquivo cbs.log e move o arquivo antigo para um arquivo .cab CbsPersist compactado. Meu arquivo de log de 500 MB foi comprimido para 30MB.

Observe que pode levar alguns minutos para ser executado. O serviço parece parar automaticamente quando é feito.


10



Note que não funciona por si só se algum dos arquivos já atingiu a marca 2GiB, como makecab apenas desiste quando chega tão longe em (deixando um corrupto cab_* arquivo em %WINDIR%\Temp); Nesse caso, você também precisa descartar o superdimensionado CbsPersist_*.log arquivo de alguma forma assim TrustedInstaller ("Windows Modules Installer") não vai tentar executar makecab sobre eles na inicialização. Eu usei o 7-zip para compactar o meu em arquivos .log.xz, mas a exclusão ou renomeação presumivelmente também seriam opções. Depois disso, reiniciá-lo cuidará dos de tamanho razoável. - SamB
@ SamB está correto. Esse problema ocorre porque o formato .CAB tem uma limitação rígida de tamanho de arquivo de 2GiB e o TrustedInstaller continuará a emitir makecab rotineiramente, criando um novo arquivo ~ 100MiB em sua pasta temp a cada vez. A solução é remover o arquivo de log de 2 GB (que pode ser feito com segurança, pois eles são usados ​​apenas para solução de problemas). Muito obrigado SamB por postar, você chegou à causa raiz deste problema. Estou no Windows 7 SP1 de 64 bits. Eu não posso acreditar que a Microsoft não conserte isso ainda. - Syclone0044
Se esse serviço estiver ativo, escolher "Reiniciar" terá o mesmo efeito. O efeito não é tão bom se você definiu o Registros \ CBS diretório como compactado. - PJTraill


No meu caso, não consegui parar o serviço mesmo depois de desativar. As etapas a seguir me ajudaram a interromper o serviço e remover o log do 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.

Apenas no caso se ajudaria alguém.


5



Um cara nos fóruns da MS diz que isso ocorre por design: Observe que no Windows 7 você não pode parar este serviço, mas pode desativá-lo, reinicializar e excluir cbs.log. - StackzOfZtuff
Possivelmente. É por isso que precisamos parar o serviço como acima para remover o arquivo de log. - gnaanaa
Sim, mas desde que você não pode pará-lo manualmente, você tem que desabilitar e reiniciar. - StackzOfZtuff
No meu W7x64 eu não pude desativar o serviço, mas eu poderia matar TrustedInstaller.exe. Isso removeu o bloqueio do arquivo e eu consegui excluí-lo. - user136036


No Server 2008 R2, Meu C:\windows\temp estava vazio. Eu tentei excluir logs cbs e um log cbs de 2,5 GB continuou retornando, então eu verifiquei C:\windows\temp depois de tentar excluir o log e um grande número de .dmp arquivos apareceram lá.

Excluiu estes e o arquivo de log foi embora. O espaço em disco foi recuperado. (O meu continuou a voltar mesmo depois de o eliminar).


1