Neden CBS.log dosya boyutu 20 GB


129

İki gün önce tam bir C:sürücü kullandım, ardından 8 GB veriyi sildim. Ertesi gün sabit disk tekrar doluydu, ben de 5 GB daha silmeye devam ettim ve bir sonraki gün disk doluydu.

Disk alanının bu kadar çabuk dolmasına neden olanı aradıktan sonra, windirstathangi dosyaların en çok yer kapladığını bulmak için aracı kullandım . Bulunan CBS.logdosyanın c:\windows\logs\cbs\20 GB büyüklüğünde olduğunu öğrendim .

Windows 8 kullanıyorum.

  • Bu dosya bu kadar büyük olmalı mı, değilse de boyutunu nasıl küçültebilirim?
  • Bu dosyanın amacı nedir?
  • Silebilir miyim?

ayrıntılı günlüğü eklediniz mi? blogs.technet.com/b/joscon/archive/2010/11/18/…
magicandre1981

Yanıtlar:


34

Bu, Microsoft Windows Kaynak Denetleyicisi (SFC.exe) tarafından oluşturulan bir dosyadır.

Hayır, o kadar büyük olmamalı. CBS, yaklaşık 50 meg boyutunda olduğunda CBS.persist.log dosyasının oluşturulması gerekir. CBS.log, cbs.persist.log dosyasına kopyalanmalı ve yeni bir cbs.log dosyası başlatılmalıdır.

Dosyayı sıkıştırmayı deneyebilirsiniz:

  • CBS.log dosyasına sağ tıklarsanız
  • Sonra Özellikler'e tıklayın
  • Genel sekmesinde, Gelişmiş'i tıklatın.
  • "Disk alanından kazanmak için içeriği sıkıştır" seçeneğini işaretleyin ve Tamam'ı tıklayın.

Veya, sisteminizin iyi çalıştığından eminseniz, bu dosyayı silebilirsiniz. SFC.exe, bir sonraki çalıştırılışında yeni bir tane oluşturacaktır. Ancak, sorun giderme için yararlı olabilir.


16
Sadece bir FYI, CBS.logSFC tarafından üretilmemiştir. SFC ( [SR]etiketli) eklese de, TrustedInstaller.exe (aka CBS aka Bileşen Bazlı Servis), log dosyalarını oluşturan şeydir. Kaynak: Bileşen Tabanlı Hizmetin Anlaşılması
Vinayak

3
Um, NTFS sıkıştırmasının TrustedInstaller formunun makecabgünlük dosyasında çalışmasını engelleyeceğinden şüpheliyim, eğer> 2 GiB boyutunda ise ölecek. Daha iyi bir fikir böylece amaçsızca o kadar beslenmesini TrustedInstaller önlenmesi, genellikle ona yeni bir dosya adı verecek diğer bazı açık sıkıştırma formatı, onu sıkıştırmak için makecab...
SAMB

5
@SamB doğru. Bu sorun, .CAB biçiminin 2GiB boyutunda bir dosya sınırlaması olması nedeniyle oluşur ve TrustedInstaller makecabher zaman geçici klasörünüzde yeni bir ~ 100MiB dosyası oluşturarak düzenli olarak yayınlamaya devam eder . Çözüm, 2GB günlük dosyasını kaldırmaktır (bunlar yalnızca sorun giderme amacıyla kullanıldığı için güvenle yapılabilir).
Syclone0044

6
@Vinayak yanlış bilgi verdiğini önerdiğinde neden bu doğru cevap olarak işaretlenmiş? Elbette "düzenleme" fonksiyonu bunun için?
Criggie

85

17 gb cbs.persist.log dosyam vardı, çünkü ssd'yi doldurmadığımdan emin değildim, Windows günlük dizinindeki olağandışı büyük dosyaları aradım. Yine de sadece bir sıkıştırma sorunu düşünebiliyordu.

Bu nedenle, CBS klasöründeki sıkıştırmayı sıfırlamak için aşağıdaki yöntemi kullandım:

  1. Taskmanager Hizmetlerinde TrustedInstaller.exe (Windows Modül Yükleyicisi) işlevini devre dışı bırakın
  2. C: \ Windows \ Logs \ CBS dizinindeki tüm .log dosyalarını silin, .persist ve .cab dosyalarını da silin
  3. TrustedInstaller.exe'yi tekrar etkinleştirin

NOT: CBS klasörünün temizlenmesi, sıkıştırma işlemini sıfırlar, böylece yeni oluşturulan günlük dosyaları, .cab dosyalarına olduğu gibi sıkıştırmadan önce 50 Mb'den büyük olmamalıdır.

Doğrudan görsel bir sonuç yok, böyle bir günlük dosyası yeterince büyük olana kadar beklemeniz gerekiyor.

Bu çözüm hala benim için Windows 7/8 / 8.1'de 1 yıl sonra çalışıyor

Sıkıştırmanın bir daha başarısız olamayacağından emin olamasam da, eğer öyleyse ... o zaman çözümü tekrarlayın, ancak CBS klasöründeki dosyaları silmeden önce TrustedInstaller'ı devre dışı bıraktığınızdan emin olun.

Bu yardımcı olur umarım.


5
Windows Modül Yükleyicisini nasıl devre dışı bırakırsınız? "Hizmetler" penceresinde başlatılacak, durdurulan, devam ettirilen, duraklatılan vb. Tüm düğmeler grileştirilir. Windows görev yöneticisi ayrıca TrustedInstaller.exe
dosyasını öldüremiyor

3
@ Alph.Dev services.mscWin + R ("Çalıştır") ile başlayın, servisi bulun, sağ tıklayın - Özellikler - Başlat: Devre Dışı Bırak. Sonra yeniden başlatın, dosyaları temizleyin ve tekrar Manuel veya Otomatik olarak ayarlayın (otomatik olarak Win7 sistemimde varsayılandı).
chrki

Daha kolay bir yol var, sadece silmek için LockHunter kullanın.
majkinetor

powershell betiği?
PreguntonCojoneroCabrón

27

Sadece birinin neden böyle bir şey olduğunu merak etmesi durumunda. Özel koşulları yeniden ürettiğime inanıyorum (bu koşullara rağmen aynı sonuca yol açabilecek başka değişkenler olduğuna eminim):

  1. Çok sayıda çok sayıda Windows güncellemesi (bir sürü dil paketi ve servis paketi vb.) Başlattım, ayrıca çok sayıda başka uygulama ve pencereyi de açtım (bir geliştiriciyim). Sonra öğle yemeğine gittim.
  2. Windows Update, sistemin belleği tükenene kadar çalıştı (RAM). 32 Gigabayt'ım var ama yeterli değildi.
  3. "Trusted Installer.exe" ("Windows Modül Yükleyicisi" hizmeti) hızla büyüyen günlük dosyasını sıkıştırmayı denedi, ancak günlük çok hızlı büyüdüğü için ya da düşük bellek nedeniyle başlayamadığından çalıştırılamadı, ya da her ikisi de. Böylece, gerektiğinde, Windows Modül Yükleyici hizmeti hiç başlamamıştı bile (geçici olarak).
  4. O andan itibaren, .CAB sıkıştırması için çok büyük olduğundan (yaklaşık 25 Gigabayt!) Ve kısır döngü başladığından ve hiçbir şey onu durduramadığından ("tarafından tanımlandığı şekilde el ile müdahale edildiğinde") günlük dosyasıyla baş edemedi. Cin "yukarıda).
  5. Günlük dosyası SSD'mde 60 Gigabayt'a ulaştığında, tüm boş alanımı kullandım ve "düşük depolama alanı" uyarısı aldım ve nedenini aramaya başladım.

Aşağıdaki işlem sorunu çözmüş gibi görünüyor: "Windows Modül Yükleyici hizmetini devre dışı bırakın, C: \ Windows \ Logs \ CBS \ klasörünün içeriğini silin ve 'C: \ Windows \ Temp' klasörünün içeriğini silin - kullanılan dosyaları atlayın, ardından Windows Module Installer hizmetini tekrar başlatın ve 'manuel' başlat (varsayılan) olarak ayarlayın. Yeniden Başlatma.



10

Geçici bir çözüm olarak, Windows 7'de "Windows Modül Yükleyici" hizmeti durdurulmuşsa, yeni bir cbs.log dosyası oluşturan ve eski dosyayı sıkıştırılmış bir CbsPersist .cab arşivine taşıyan günlük döndürme işlemini tetiklemek için Windows 7'de görünür. 500 MB günlük dosyam 30 MB'ye kadar sıkıştırıldı.

Çalıştırmanın birkaç dakika alabileceğini unutmayın. Hizmet bittiğinde otomatik olarak kendini durduruyor gibi görünüyor.


10
Dosyalardan herhangi biri 2GiB işaretine zaten çarptıysa, makecabo kadar ileri gittiğinde (bozuk bir cab_*dosyayı bırakarak %WINDIR%\Temp) pes ettiğinde kendi kendine çalışmadığını unutmayın ; Bu durumda, büyük boyutlu CbsPersist_*.logdosyayı da bir şekilde elden çıkarmanız gerekir; böylece TrustedInstaller ("Windows Modules Installer") makecabbaşlangıçta çalıştırılmayacaktır . Madeni .log.xz dosyalarına sıkıştırmak için 7-zip kullandım, ancak silme veya yeniden adlandırma muhtemelen seçenekler de olurdu. Bundan sonra, yeniden başlatmak makul boyutta olanlarla ilgilenecektir.
SamB

6
@SamB doğru. Bu sorun, .CAB biçiminin 2GiB boyutunda bir dosya sınırlaması olması nedeniyle oluşur ve TrustedInstaller makecabher zaman geçici klasörünüzde yeni bir ~ 100MiB dosyası oluşturarak düzenli olarak yayınlamaya devam eder . Çözüm, 2GB günlük dosyasını kaldırmaktır (bunlar yalnızca sorun giderme amacıyla kullanıldığı için güvenle yapılabilir). Gönderdiğiniz için çok teşekkür ederim SamB, bu sorunun asıl sebebine ulaştınız. Windows 7 SP1 64-bit'tayım. Microsoft'un henüz bunu çözmediğine inanamıyorum.
Syclone0044

Bu hizmet etkinse, “Yeniden Başlat” ı seçmek de aynı etkiye sahiptir. Logs \ CBS dizinini sıkıştırılmış olarak ayarladıysanız, sonuç o kadar da iyi değildir .
PJTraill

5

Benim durumumda, hizmet dışı bıraktıktan sonra bile hizmeti durduramadım. Aşağıdaki adımlar, hizmeti durdurmam ve CBS günlüğünü kaldırmama yardımcı oldu.

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.

Sadece birine yardım ederse diye.



Muhtemelen. Bu yüzden günlük dosyasını kaldırmak için servisi yukarıdaki gibi durdurmamız gerekiyor.
gnaanaa

1
Evet, ancak manuel olarak durduramadığınız için, devre dışı bırakmanız ve yeniden başlatmanız gerekir.
StackzOfZtuff 30:16

W7x64'ümde servisi devre dışı bırakamadım ama TrustedInstaller.exe'yi öldürebilirim. Bu dosyadan kilidi kaldırıldı ve sildim.
user136036

1

Server 2008 R2'de My C:\windows\tempboştu. Cbs günlüklerini silmeyi denedim ve 2.5 GB cbs günlüğü geri dönmeye devam etti, bu nedenle C:\windows\tempgünlüğü silmeye çalıştıktan sonra kontrol ettim ve çok sayıda .dmpdosya varmış.

Bunları silindi ve günlük dosyası artık gitti. Disk alanı kurtarıldı. (Mine sildikten sonra bile geri dönmeye devam etti.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.