Hạn chế mức độ chi tiết của Windows CBS.log, thiết lập mức ghi nhật ký, dừng sự điên rồ thông tin haomegabyte


18

Trên Windows 7 (Home Premium 64 Bit), hàng trăm megabyte đăng nhập mà không ai muốn đọc được ghi vào C:\Windows\Logs\CBS\CBS.log. Hãy xem, chúng tôi đang đếm các dòng ở đây:

$ 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

Nói một cách dễ hiểu, logfile CBS (CBS là viết tắt của Dịch vụ dựa trên thành phần , bí danh Trình cài đặt đáng tin cậy , xem Hiểu dịch vụ dựa trên thành phần , tháng 4 năm 2008, Microsoft Technet ) tại thời điểm này chiếm tới 700 MB, 200 trong số đó được viết trong 30 phút qua , với mục đầu tiên xuất phát từ 9 ngày trước.

Tổng cộng có gần 3 triệu mục và gần như toàn bộ mục đó tại Thông tin loglevel . Xin lưu ý bạn, đây là định dạng tệp nhật ký có thể đọc được của con người, dường như không dành cho xử lý máy. Không biết về bạn, nhưng khái niệm rằng tôi nên bận tâm đến việc tính đến 3 triệu dòng Thông tin theo mặc định khiến tôi phải đối mặt với sự vô lý.

Tôi muốn điều này dừng lạihoạt động của đĩa và CPU không phục vụ mục đích nào khác ngoài việc làm chậm hệ thống một cách không cần thiết .

Vậy: Làm cách nào để đặt mức ghi nhật ký thành Cảnh báo hoặc Lỗi ? Tài liệu này ở đâu?

Thêm vào đó, hãy tưởng tượng rằng thay vì lội qua hàng trăm meg Thông tin (trong ít hơn một tuần), bạn sẽ chỉ giữ ~ 100 dòng Lỗi ? Điều đó sẽ không có ý nghĩa và thực sự cung cấp manh mối trong việc khắc phục sự cố? Sau đó, bạn vẫn có tùy chọn bật Thông tin trong trường hợp xảy ra sự cố cài đặt không rõ ràng.

Cập nhật:

Đọc các bình luận, có vẻ như tôi đã không nói rõ câu hỏi của mình. Tôi không hỏi làm thế nào để lọc tệp nhật ký khiêm tốn bằng các tiện ích dòng lệnh - bởi vì tôi đã biết cách thực hiện điều đó. Tôi cũng không hỏi làm thế nào để xử lý các tệp nhật ký theo cách xoay vòng nhật ký - bởi vì Windows sẽ tự làm điều đó khi tệp đạt đến một ngưỡng không xác định (mặc dù bạn sẽ thấy mọi người hỏi tại sao tệp đạt 20 hợp đồng biểu diễn ). Những gì tôi đang hỏi chỉ đơn giản là làm thế nào để ngăn chặn việc đăng nhập haomegabyte điên rồ này xảy ra ở nơi đầu tiên, có lẽ bằng cách đặt cấp độ nhật ký ở mức cao hơn Thông tin. Tôi chỉ không thể tìm thấy tài liệu về cách đặt cấp độ nhật ký, có thể vì nó không tồn tại công khai. Nhưng phải có một cách vì bất kỳ phần mềm tử tế nào cũng cung cấp một cách để đặt mức ghi nhật ký.

Cập nhật 2:

Xem câu trả lời được đưa ra. Cài đặt đăng ký dường như có hiệu lực và đóng hoàn toàn đăng nhập. Cái nào cũng được và mặc định tốt hơn cái hiện tại. Để chỉnh sửa sổ đăng ký, bạn cần sửa quyền - xem phụ lục.

Phụ lục: Quyền trên Component Based Servicingkhoá đăng ký

Khi bạn cố gắng đặt EnableLogthành 0, có thể bạn sẽ nhận thấy rằng bạn không có quyền truy cập ghi HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingvà nội dung bên dưới nó. Bạn cần vào "Chỉnh sửa» Quyền " regeditvà sau đó nhận quyền sở hữu trước khi được phép thực hiện các chỉnh sửa:

Hãy sở hữu và cấp cho chính mình quyền viết


3
+5 "haomegabyte thông tin điên rồ"
Moab

2
Nhật ký CBS có thể được lọc từ dấu nhắc lệnh, đây là ví dụ về một cái tôi sử dụng sau khi tôi chạy Trình kiểm tra tệp hệ thống, khi nó chạy, nó xuất thông tin SFC có liên quan đến tệp văn bản trên máy tính để bàn của tôi. "findstr / c:" [SR] "% Windir% \ Logs \ CBS \ CBS.log>% userprofile% \ Desktop \ sfcdetails.tx"
Moab

@Tetsujin cảm ơn, đã tự hỏi nếu có các lệnh findstr khác cho các bản ghi khác nhưng google không tìm thấy gì.
Moab

2
@Tetsujin quý trọng, xin lưu ý rằng cấp độ nhật ký chỉ là Thông tin , không phải là Gỡ lỗi , điều này có nghĩa là mức độ chi tiết tăng lên. Xem bài viết Technet Cách bật ghi nhật ký CBS dài dòng , tháng 11 năm 2010, bởi joscon để biết rằng bạn có thể làm cho việc ghi nhật ký dài hơn nữa. Joscon tuyên bố trong một nhận xét rằng »Thay đổi cách đặt mặc định của nó là chi tiết ít nhất mà nhật ký nhận được.« Điều đó không thể chấp nhận được. Đó là thứ không cần thiết làm chậm hệ thống của bạn. Không phải những gì người dùng muốn. Có lẽ một chỉnh sửa nhị phân sẽ làm.
Lumi

Trên Windows Server 2008, điều này cuối cùng sẽ khiến TrustedInstaller.exe bắt đầu gặp sự cố sau mỗi 15 phút. Hoặc ít nhất, tôi tin rằng đây là nguyên nhân; Tôi đã theo dõi điều này một thời gian. Nỗ lực hiện tại của tôi tại một cách giải quyết là tạo một CBS.log trống và xóa tất cả các quyền, từ chối quyền truy cập. Vẫn chưa xác nhận nếu điều này hoạt động, vì phải mất một thời gian trước khi nó bắt đầu xảy ra.
theultramage

Câu trả lời:


11

Như một câu trả lời một phần ở đây là cài đặt để dừng đăng nhập hoàn toàn: trong sổ đăng ký, điều hướng đến

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

và thiết lập EnableLog 0. Nguồn: https://technet.microsoft.com/en-us/l Library / cc732334% 28v = ws.10% 29.aspx # CBS


1
Cảm ơn, điều đó dường như làm việc. Sau khi thực hiện chỉnh sửa, tôi đã dừng dịch vụ TrustedInstaller và sau đó cài đặt bản cập nhật (KB3078667). Không một ký tự nào được ghi lại, yeah! Để thực hiện chỉnh sửa, bạn cần có quyền sở hữu Component Based Servicingkhóa; theo mặc định, chỉ TrustedInstaller mới có thể ghi cho nó và các thuộc hạ của nó. Xem ảnh chụp màn hình kèm theo câu hỏi của tôi.
Lumi

Bạn có thể tìm thấy TrustedInstaller trong Bảng điều khiển> Công cụ quản trị> Dịch vụ dưới tên Trình cài đặt Mô-đun Windows (win7).
Ogmios

2

Nhật ký CBS cũng được lấp đầy bởi Cleanmgr với khoảng 150-200Mb dữ liệu ngay cả khi làm sạch gần như "không có gì", do đó làm đầy đĩa của bạn thay vì làm sạch.

Tôi thấy nhật ký CBS có thể bị xóa sau khi dừng dịch vụ TrustedInstaller, khởi động lại Trình cài đặt mô-đun Windows sau đó sẽ khởi động lại dịch vụ. Hãy nhớ rằng nhật ký được Microsoft sử dụng trong một số chương trình gỡ lỗi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.