Windows CBS.logの冗長性を制限し、ログレベルを設定し、ヘクトメガバイト情報の狂気を停止


18

Windows 7(Home Premium 64ビット)の場合 数百メガバイトのロギング 誰も読むことを気にする人はいません。 C:\Windows\Logs\CBS\CBS.log。見てみましょう、我々はここで行を数えています:

$ 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

簡単に言うと、CBSログファイル(CBSは コンポーネントベースのサービス 、エイリアス 信頼できるインストーラ 、 見る コンポーネントベースのサービスについて 、2008年4月、Microsoft Technet )現時点で700 MBを消費し、そのうちの200は過去30分で書き込まれ、最初のエントリは9日前からのものです。

全部で300万件近くのエントリ ログレベルでそれのほぼ全体 情報 。覚えておいて、これは人間が読める形式のログファイルフォーマットで、明らかに機械加工用ではありません。あなたについては知りませんが、300万行を考慮に入れるために私が気にするべきであるという考え 情報 デフォルトで私は不条理に接しているとして私を攻撃します。

私はこれをしたい やめる なぜなら ディスクとCPUのアクティビティ 以外の目的には役立ちません 不必要にシステムを遅くする

そう: ログレベルをに設定する方法 警告 または エラー これはどこに文書化されていますか?

プラス:何百ものメグを駆け抜けるのではなく、想像してみてください。 情報 (1週間弱)あなたは〜100だけを維持します エラー 行?それだけでは意味がありませんし、実際にトラブルシューティングの手がかりを提供しますか?あなたはまだオンにするオプションがあります 情報 明らかでないインストール問題が発生した場合

更新:

コメントを読んで、それは私が十分な明快さで私の質問を言い表さなかったようです。わたし ではない コマンドラインユーティリティを使用して巨大なログファイルをフィルタリングする方法を尋ねる - 私はそれを行う方法を既に知っているので。私も ではない ログローテーションの方法でログファイルを処理する方法を尋ねる - ファイルがある未知のしきい値に達するとWindowsがそれ自身でそれをするので ファイルが20ギグに達する理由 )私は何 質問しています 単純です このクレイジーヘクトメガバイトロギングが発生しないようにする方法 そもそも、おそらく ログレベルを設定する より高い何かに 情報 。ログレベルを設定する方法に関するドキュメントが見つからないのは、おそらくそれが公的に存在しないからです。しかし、まともなソフトウェアはログレベルを設定する方法を提供しているので、方法があるはずです。

更新2:

与えられた答えを見てください。レジストリ設定が有効になり、ログが完全に閉じられたようです。これは大丈夫ですし、現在のものよりはるかに良いデフォルトです。レジストリを編集するには、権限を修正する必要があります - 付録を参照してください。

付録:上のパーミッション Component Based Servicing レジストリキー

設定しようとしたとき EnableLog0への書き込み権限がないことに気づくでしょう HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing そしてその下のもの。あなたは「編集」→「権限」に進む必要があります。 regedit そして編集を許可される前に所有権を取得します。

Take ownership and grant yourself write permission


3
+5 "ヘクトメガバイト情報の狂気"
Moab

2
CBSログはコマンドプロンプトからフィルタリングできます。これは、システムファイルチェッカーを実行した後に使用するログの例です。実行すると、関連するSFC情報がデスクトップ上のテキストファイルに出力されます。 "findstr / c:" [SR] "%windir%\ Logs \ CBS \ CBS.log>%userprofile%\ Desktop \ sfcdetails.tx"
Moab

@Tetsujinのおかげで、他のログのための他のfindstrコマンドがあったのにgoogleが何も見つけなかったのか疑問に思いました。
Moab

2
尊敬しています。ログレベルは 情報 ではない デバッグ これは冗長性の増加を意味します。 Technetの記事を参照してください。 詳細CBSログを有効にする方法 、2010年11月、joscon著 ロギングをさらに冗長にできることを確認します。 Josconはコメントで次のように述べています。»デフォルトで設定されている方法は、ログの詳細度が最も低い方法です。«これは受け入れられません。不必要にあなたのシステムを遅くするのは一種のことです。ユーザーが望むものではありません。たぶんバイナリ編集でいいでしょう。
Lumi

Windows Server 2008では、これによりTrustedInstaller.exeが15分ごとにクラッシュし始めます。少なくとも、これが原因だと思います。私はしばらくこれを追跡してきました。私の現在の回避策は、空のCBS.logを作成し、すべての権限を削除してアクセスを拒否することです。これがうまくいくかどうかまだ確認していません、なぜならそれが起こるまでにはある程度のアップタイムがかかるからです。
theultramage

回答:


10

部分的な回答として、ここではログを完全に停止する設定です。レジストリで、に移動します。

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

と設定 EnableLog 0。ソース: https://technet.microsoft.com/ja-jp/library/cc732334%28v=ws.10%29.aspx#CBS


1
ありがとう、それはうまくいくようです。編集後、TrustedInstallerサービスを停止してからアップデートをインストールしました(KB3078667)。単一の文字が記録されていません、そうです!編集をするためには、あなたはの所有権を取る必要があります Component Based Servicing キー;デフォルトでは、TrustedInstallerのみがその下線に書き込むことができます。私の質問に添付されているスクリーンショットを見てください。
Lumi

TrustedInstallerはコントロールパネル>にあります。管理ツール> サービス内容 Windowsモジュールインストーラ 名前(win7)
Ogmios

2

CBSログは、ほとんど何もクリーニングしていないときでも、cleanmgrによって約150〜200MBのデータでいっぱいになっているため、クリーニングの代わりにディスクをいっぱいにしています。

TrustedInstallerサービスを停止した後にCBSログをクリアできることがわかりました。その後、Windowsモジュールインストーラを再起動するとサービスが再開されます。 ログはいくつかのデバッグプログラムでマイクロソフトによって使用されていることに注意してください。

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