CBS.logファイルのサイズが20 GBである理由


129

2日前にフルC:ドライブがあり、その後8 GBのデータを削除しました。翌日、ハードドライブが再びいっぱいになったので、さらに5 GBを削除し続け、翌日もディスクがいっぱいになりました。

ディスクスペースがすぐにいっぱいになる原因を探した後、windirstatツールを使用して、どのファイルが最もスペースを占有しているかを見つけました。にあるCBS.logファイルのc:\windows\logs\cbs\サイズは20 GBであることがわかりました。

Windows 8を使用しています。

  • このファイルをこれほど大きくする必要がありますが、そうでない場合、サイズを小さくするにはどうすればよいですか?
  • このファイルの目的は何ですか?
  • 削除できますか?

詳細ログを追加しましたか?blogs.technet.com/b/joscon/archive/2010/11/18/...
magicandre1981

回答:


34

これは、Microsoft Windowsリソースチェッカー(SFC.exe)によって生成されるファイルです。

いいえ、それほど大きくすべきではありません。CBSのサイズが約50 MBになると、CBS.persist.logが生成されます。CBS.logをcbs.persist.logにコピーし、新しいcbs.logファイルを開始する必要があります。

ファイルを圧縮してみてください:

  • CBS.logファイルを右クリックした場合
  • 次に、プロパティをクリックします
  • [全般]タブで、[詳細設定]をクリックします。
  • 「ディスク容量を節約するためにコンテンツを圧縮する」をチェックし、「OK」をクリックします

または、システムが正常に動作していることが確実な場合は、このファイルを削除できます。SFC.exeは、次回の実行時に新しいファイルを作成します。ただし、問題のトラブルシューティングには役立ちます。


16
参考までに、CBS.logSFCでは生成されません。SFCは([SR]タグ付きで)それに追加しますが、TrustedInstaller.exe(別名CBSまたはコンポーネントベースのサービス)がログファイルを作成するようです。出典:コンポーネントベースのサービスの理解
-Vinayak

3
ええと、NTFS圧縮makecabにより、ログファイルでTrustedInstallerフォームを実行しようとするのを防ぐことはできません。良いアイデアは、一般的にこのように無意味にそれへの給餌からTrustedInstallerを防止すること、それを新しいファイル名を与えると思われる、いくつかの他の明示的な圧縮形式で圧縮することであるmakecab...
SAMB

5
@SamBは正しいです。この問題は、.CAB形式に2GiBファイルサイズのハード制限があり、TrustedInstallerがmakecab定期的に発行を続け、一時フォルダーに毎回新しい〜100MiBファイルを作成するために発生します。解決策は、2GBのログファイルを削除することです(これらはトラブルシューティングにのみ使用されるため、安全に実行できます)。
Syclone0044

6
@Vinayakが間違った詳細を提案したときに、なぜこれが正しい答えとしてマークされるのですか?確かにそれが「編集」機能の目的ですか?
クリギー

85

17 GBのcbs.persist.logファイルがありました。ssdがいっぱいになっていないと確信していたため、windowsログディレクトリで異常な大きなファイルを検索しました。とにかく圧縮の問題しか考えられませんでした。

したがって、CBSフォルダーの圧縮をリセットするには、次の方法を使用しました。

  1. Taskmanager ServicesでTrustedInstaller.exe(Windowsモジュールインストーラー)を無効にする
  2. C:\ Windows \ Logs \ CBSディレクトリ内のすべての.logファイルを削除し、.persistおよび.cabファイルも削除します
  3. TrustedInstaller.exeを再度有効にします

注:CBSフォルダーをクリーンアップすると、圧縮プロセスがリセットされるため、新しく作成されたログファイルは、.cabファイルへの圧縮前の50 Mbより大きくならないはずです。

直接的な視覚的な結果はありません。そのようなログファイルが十分に大きくなるまで待つ必要があります。

このソリューションは、1年後もWindows 7/8/8で動作します

圧縮が二度と失敗しないことを確信することはできませんが、もしそうなら...ソリューションをもう一度繰り返しますが、CBSフォルダー内のファイルを削除する前にTrustedInstallerを無効にしてください。

お役に立てれば。


5
Windowsモジュールインストーラーを無効にするにはどうすればよいですか?「サービス」ウィンドウでは、開始、停止、再開、一時停止などのすべてのボタンがグレー表示されます。WindowsのタスクマネージャもTrustedInstaller.exeを殺すことができない..です
Alph.Dev

3
@ Alph.Dev services.mscWin + R(「実行」)で起動し、サービスを見つけて右クリックします-プロパティ-起動:無効にします。その後、再起動してファイルをクリーンアップし、手動または自動に戻します(Win7システムでは自動がデフォルトでした)。
chrki

簡単な方法があります。LockHunterを使用して削除するだけです。
majkinetor

PowerShellスクリプト?
PreguntonCojoneroCabrón

27

なぜこれが最初に起こるのか不思議に思う人のために。特別な条件を再現したと思います(ただし、これらの条件には、同じ結果を引き起こす可能性のある他のバリエーションがあると確信しています)。

  1. 非常に多数の非常に大規模なWindowsアップデート(言語パックやサービスパックなど)を開始しましたが、他のアプリやウィンドウも多数開いていました(私は開発者です)。それから昼食に行きました。
  2. Windows Updateは、システムのメモリ(RAM)がなくなるまで実行されました。32ギガバイトですが、十分ではありませんでした。
  3. 「Trusted Installer.exe」(「Windows Module Installer」サービス)は、急速に増加するログファイルを圧縮しようとしましたが、ログが速すぎたため、またはメモリ不足により起動できなかったため、実行できませんでした。または両方。そのため、必要に応じて、Windowsモジュールインストーラーサービスはまったく開始されませんでした(一時的であっても)。
  4. それ以降、ログファイルは.CAB圧縮には大きすぎたため(約25ギガバイト!)ログファイルを処理できず、悪循環が始まり、何も停止できませんでした(「上記のジン」)。
  5. ログファイルがSSDで60ギガバイトに達すると、すべての空き領域が使用され、「低ストレージ領域」の警告が表示され、原因を探し始めました。

次のプロセスで問題が修正されたようです。「Windowsモジュールインストーラーサービスを無効にし、C:\ Windows \ Logs \ CBS \フォルダーの内容を削除し、「C:\ Windows \ Temp」フォルダー-使用中のファイルをスキップしてから、 Windowsモジュールインストーラーサービスを再度開始し、「手動」開始(デフォルト)に設定します。」リブート。


2
数千のファイルは、cでありました:\ Windowsは私のマシン上での一時を\ -うまくいけば、CBS.logの爆発的な成長削減に数百個のファイルに右の効果を持っていることを剪定
Toybuilder

10

回避策として、Windows 7で「Windows Modules Installer」サービスが停止すると、新しいcbs.logファイルを作成し、古いファイルを圧縮されたCbsPersist .cabアーカイブに移動するログローテーションプロセスが開始されるように見えます。500MBのログファイルは30MBに圧縮されました。

実行には数分かかる場合があることに注意してください。サービスは終了すると自動的に停止するようです。


10
ファイルのいずれかが、すでには2GiBマークを直撃している場合は、それ自体では動作しません注意makecab、それははるかに(壊れ去ることになったときにちょうど断念cab_*内のファイル%WINDIR%\Temp)を、その場合、CbsPersist_*.logTrustedInstaller(「Windowsモジュールインストーラー」)がmakecab起動時にそれらを実行しようとしないように、何らかの方法で特大のファイルを破棄する必要もあります。私は7-zipを使用して私のものを.log.xzファイルに圧縮しましたが、おそらく削除または名前変更もオプションです。その後、再起動すると、適切なサイズのものが処理されます。
SamB

6
@SamBは正しいです。この問題は、.CAB形式に2GiBファイルサイズの厳しい制限があり、TrustedInstallerがmakecab定期的に発行を続け、一時フォルダーに毎回新しい〜100MiBファイルを作成するために発生します。解決策は、2GBのログファイルを削除することです(これらはトラブルシューティングにのみ使用されるため、安全に実行できます)。投稿してくださったSamBに感謝します。この問題の根本原因に達しました。Windows 7 SP1 64ビットを使用しています。Microsoftがまだこれを修正していないとは思えない。
Syclone0044

そのサービスがアクティブな場合、「再起動」を選択しても同じ効果があります。Logs \ CBSディレクトリを圧縮済みとして設定している場合、効果はそれほど大きくありません。
PJTraill

5

私の場合、無効にしてもサービスを停止できませんでした。次の手順は、サービスを停止し、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.

念のため、それが誰かを助けるだろう。



おそらく。そのため、上記のようにサービスを停止してログファイルを削除する必要があります。
gnaanaa

1
はい。ただし、手動で停止することはできないため、無効にして再起動する必要があります。
StackzOfZtuff

W7x64では、サービスを無効にできませんでしたが、TrustedInstaller.exeを強制終了できました。これにより、ファイルからロックが削除され、削除できました。
user136036

1

Server 2008 R2では、My C:\windows\tempは空でした。cbsログを削除しようとしましたが、2.5 GBのcbsログが返され続けていたのでC:\windows\temp、ログを削除しようとして確認したところ、そこに多数の.dmpファイルが表示されていました。

これらを削除すると、ログファイルはなくなりました。ディスク容量が回復しました。(私はそれを削除した後でも戻ってきました。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.