Batasi verbositas Windows CBS.log, atur level log, hentikan kegilaan info hektomegabyte

18

Pada Windows 7 (Home Premium 64 Bit), ratusan megabyte pencatatan yang tidak akan dibaca oleh siapa pun akan dibacakan C:\Windows\Logs\CBS\CBS.log. Lihatlah, kami menghitung garis di sini:

$ 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

Dengan kata lain, logfile CBS (CBS adalah kependekan dari Component Services Services , alias Trusted Installer , lihat Memahami Layanan Berbasis Komponen , Apr 2008, Microsoft Technet ) saat ini membutuhkan 700 MB, 200 di antaranya ditulis dalam 30 menit terakhir , dengan entri pertama berasal dari 9 hari yang lalu.

Secara keseluruhan, hampir 3 juta entri, dan hampir seluruhnya ada di Info Google . Pikiran Anda, ini adalah format file log yang dapat dibaca manusia, tampaknya bukan untuk pemrosesan mesin. Tidak tahu tentang Anda, tetapi gagasan bahwa saya harus repot-repot memperhitungkan 3 juta baris Info secara default menurut saya berbatasan dengan absurd.

Saya ingin ini berhenti karena aktivitas disk dan CPU tidak memiliki tujuan lain selain memperlambat sistem .

Jadi: Bagaimana cara mengatur level log ke Peringatan atau Kesalahan ? Di mana ini didokumentasikan?

Plus: Bayangkan bahwa alih-alih mengarungi ratusan MB Info (untuk sedikit lebih dari satu minggu) Anda hanya akan menjaga ~ 100 garis Kesalahan ? Bukankah itu masuk akal dan benar-benar memberikan petunjuk dalam pemecahan masalah? Anda kemudian masih memiliki opsi untuk mengaktifkan Info seandainya muncul masalah instalasi yang tidak jelas.

Memperbarui:

Membaca komentar, sepertinya saya tidak mengatakan pertanyaan saya dengan cukup jelas. Saya tidak bertanya bagaimana cara memfilter file log humungous menggunakan utilitas command line - karena saya sudah tahu bagaimana melakukannya. Saya juga tidak bertanya bagaimana menangani file log dengan cara rotasi log - karena Windows akan melakukannya sendiri ketika file mencapai beberapa ambang yang tidak diketahui (meskipun Anda akan menemukan orang-orang bertanya mengapa file mencapai 20 gigs ). Yang saya tanyakan hanyalah bagaimana cara menghentikan penebangan hektomegabyte gila ini terjadi di tempat pertama, mungkin dengan mengatur tingkat log ke sesuatu yang lebih tinggi dari Info. Saya hanya tidak dapat menemukan dokumentasi tentang cara mengatur level log, mungkin karena tidak ada secara publik. Tetapi harus ada cara karena setiap perangkat lunak yang layak menyediakan cara untuk mengatur tingkat log.

Pembaruan 2:

Lihat jawaban yang diberikan. Pengaturan registri tampaknya mulai berlaku dan menutup log, sepenuhnya. Yang mana oke dan default yang jauh lebih baik dari yang sekarang Untuk membuat registri diedit, Anda harus memperbaiki izin - lihat lampiran.

Lampiran: Izin pada Component Based Servicingkunci registri

Ketika Anda mencoba untuk set EnableLoguntuk 0, Anda mungkin akan melihat bahwa Anda tidak memiliki akses tulis ke HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingdan hal-hal di bawah ini. Anda harus masuk "Edit» Izin " regeditdan kemudian mengambil kepemilikan sebelum diizinkan untuk mengedit:

Ambil kepemilikan dan beri diri Anda izin menulis

Lumi
sumber
3
+5 "hektomegabyte info madness"
Moab
2
Log CBS dapat difilter dari command prompt, berikut ini adalah contoh yang saya gunakan setelah saya menjalankan System File Checker, ketika dijalankan, menampilkan informasi SFC yang relevan ke file teks pada desktop saya. "findstr / c:" [SR] "% windir% \ Logs \ CBS \ CBS.log>% userprofile% \ Desktop \ sfcdetails.tx"
Moab
@Tetsujin terima kasih, bertanya-tanya apakah ada perintah findstr lain untuk log lain tetapi google tidak menemukan apa pun.
Moab
2
@Tetsujin yang terhormat, harap dicatat bahwa level log hanya Info , bukan Debug , yang akan menyiratkan peningkatan verbositas. Lihat artikel Technet Cara mengaktifkan logging CBS verbose , Nov 2010, oleh joscon untuk mengetahui bahwa Anda dapat membuat logging lebih verbose. Joscon menyatakan dalam komentar bahwa »... cara pengaturannya secara default adalah yang paling detail yang didapatkan oleh log.« Itu tidak bisa diterima. Ini adalah hal yang memperlambat sistem Anda. Bukan yang diinginkan pengguna. Mungkin mengedit biner akan dilakukan.
Lumi
Pada Windows Server 2008 ini pada akhirnya akan membuat TrustedInstaller.exe mulai macet setiap 15 menit. Atau setidaknya, saya percaya bahwa ini adalah penyebabnya; Saya sudah melacak ini selama beberapa waktu sekarang. Upaya saya saat ini untuk pemecahan masalah adalah membuat CBS.log kosong dan menghapus semua izin, menolak akses. Belum mengkonfirmasi apakah ini berfungsi, karena ini memerlukan waktu sebelum dapat mulai terjadi.
theultramage

Jawaban:

11

Sebagai jawaban parsial inilah pengaturan untuk berhenti masuk sekaligus: di registri, navigasikan ke

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

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

pengguna1016274
sumber
1
Terima kasih, itu sepertinya berhasil. Setelah melakukan edit, saya menghentikan layanan TrustedInstaller, dan kemudian menginstal pembaruan (KB3078667). Tidak ada satu karakter pun yang telah dicatat, ya! Untuk melakukan pengeditan, Anda perlu memiliki kepemilikan atas Component Based Servicingkunci; secara default, hanya TrustedInstaller yang dapat menulis dan bawahannya. Lihat tangkapan layar yang terlampir pada pertanyaan saya.
Lumi
TrustedInstaller dapat ditemukan di Control Panel> Administrative Tools> Services di bawah nama Installer Modul Windows (win7).
Ogmios
2

CBS log juga diisi oleh cleanmgr dengan kira-kira 150-200Mb data bahkan saat membersihkan hampir 'tidak ada', sehingga mengisi op disk Anda sebagai ganti dari pembersihan.

Saya menemukan log CBS dapat dihapus setelah menghentikan layanan TrustedInstaller, memulai kembali Windows Module Installer setelah itu akan memulai layanan lagi. Ingat log digunakan oleh Microsoft dalam beberapa program debugging.

pengguna679857
sumber