Tại sao tệp CBS.log có kích thước 20 GB


129

Hai ngày trước tôi có một C:ổ đĩa đầy đủ , sau đó tôi đã xóa 8 GB dữ liệu. Ngày hôm sau, ổ cứng đã đầy trở lại, vì vậy tôi tiếp tục xóa thêm 5 GB và một lần nữa vào ngày hôm sau, đĩa đã đầy.

Sau khi tìm kiếm nguyên nhân khiến không gian đĩa bị lấp đầy nhanh chóng, tôi đã sử dụng windirstatcông cụ để tìm tập tin nào chiếm nhiều dung lượng nhất. Tôi phát hiện ra rằng CBS.logtập tin được đặt trong đó c:\windows\logs\cbs\có dung lượng lớn 20 GB.

Tôi đang sử dụng Windows 8.

  • Tập tin này có nên lớn như vậy không, và nếu không, làm cách nào để giảm kích thước?
  • Mục đích của tập tin này là gì?
  • Tôi có thể xóa nó không?

bạn đã thêm đăng nhập dài dòng? blog.technet.com/b/joscon/archive/2010/11/18/ Từ
magicandre1981

Câu trả lời:


34

Đó là một tệp được tạo bởi Trình kiểm tra tài nguyên Microsoft Windows (SFC.exe).

Không, nó không nên lớn như vậy. CBS.persist.log phải được tạo khi CBS có kích thước khoảng 50 meg. CBS.log nên được sao chép vào cbs.persist.log và một tệp cbs.log mới sẽ được bắt đầu.

Bạn có thể thử nén tệp:

  • Nếu bạn nhấp chuột phải vào tệp CBS.log
  • Sau đó bấm vào Thuộc tính
  • Trên tab Chung, bấm Nâng cao
  • Kiểm tra "Nén nội dung để tiết kiệm dung lượng ổ đĩa" và nhấp vào OK

Hoặc, nếu bạn chắc chắn hệ thống của bạn đang chạy tốt, bạn có thể xóa tệp này. SFC.exe sẽ tạo một cái mới, lần sau nó được chạy. Nhưng, nó có thể hữu ích cho các vấn đề xử lý sự cố.


16
Chỉ là một FYI, CBS.logkhông được tạo bởi SFC. Mặc dù SFC không gắn vào nó (với [SR]thẻ), có vẻ như TrustedInstaller.exe (còn gọi là CBS hay Dịch vụ dựa trên thành phần) là thứ tạo ra các tệp nhật ký. Nguồn: Tìm hiểu dịch vụ dựa trên thành phần
Vinayak

3
Ừm, tôi thực sự nghi ngờ rằng nén NTFS sẽ ngăn hình thức TrustedInstaller cố chạy makecabtrên logfile, nó sẽ chết nếu kích thước> = 2 GiB. Một ý tưởng tốt hơn là nén nó ở một số định dạng nén rõ ràng khác, thường sẽ đặt cho nó một tên tệp mới, do đó ngăn TrustedInstaller không cho nó ăn một cách vô nghĩa đến makecab...
SamB

5
@SamB đúng. Sự cố này xảy ra do định dạng .CAB có giới hạn kích thước tệp 2GiB và TrustedInstaller sẽ tiếp tục phát hành makecabthường xuyên, tạo tệp ~ 100MiB mới trong thư mục tạm thời của bạn mỗi lần. Giải pháp là xóa tệp nhật ký 2GB (có thể được thực hiện một cách an toàn, vì chúng chỉ được sử dụng để khắc phục sự cố).
Syclone0044

6
Tại sao điều này được đánh dấu là câu trả lời đúng khi @Vinayak gợi ý rằng nó có chi tiết sai? Chắc chắn đó là chức năng "chỉnh sửa" để làm gì?
Criggie

85

Tôi đã có một tệp cbs.persist.log 17 gb, vì tôi chắc chắn rằng đó không phải là tôi điền vào ssd của tôi, tôi đã tìm kiếm các tệp lớn bất thường trong thư mục nhật ký windows. Chỉ có thể nghĩ về một vấn đề nén nào.

Vì vậy, để thiết lập lại việc nén trong thư mục CBS tôi đã sử dụng phương pháp sau:

  1. Vô hiệu hóa TrustedInstaller.exe (Trình cài đặt mô-đun Windows) trong Dịch vụ TASkmanager
  2. Xóa tất cả các tệp .log trong thư mục C: \ Windows \ Logs \ CBS , cũng xóa các tệp .persist và .cab
  3. Kích hoạt lại TrustedInstaller.exe

LƯU Ý: Dọn dẹp thư mục CBS đặt lại quy trình nén, do đó, các tệp nhật ký được tạo mới sẽ không được lớn hơn 50 Mb trước khi nén vào các tệp .cab như mong muốn.

Không có kết quả trực quan, bạn cần đợi cho đến khi một tệp nhật ký như vậy đủ lớn.

Giải pháp này vẫn hoạt động với tôi trên Windows 7/8 / 8.1 sau 1 năm

Mặc dù tôi không thể chắc chắn rằng việc nén sẽ không bao giờ thất bại nữa, nhưng nếu ... thì chỉ cần lặp lại giải pháp một lần nữa nhưng hãy chắc chắn tắt TrustedInstaller trước khi xóa các tệp trong thư mục CBS.

Hi vọng điêu nay co ich.


5
Làm thế nào để bạn vô hiệu hóa Windows Module Installer? Trong cửa sổ "Dịch vụ", tất cả các nút để bắt đầu, dừng, tiếp tục, tạm dừng, v.v. Trình quản lý tác vụ Windows cũng không thể giết TrustedInstaller.exe ..
Alph.Dev

3
@ Alph.Dev Bắt đầu services.mscqua Win + R ("Chạy"), tìm dịch vụ, nhấp chuột phải - Thuộc tính - Bắt đầu: Tắt. Sau đó khởi động lại, dọn sạch các tệp và đặt lại thành Thủ công hoặc Tự động (tự động là mặc định trên hệ thống Win7 của tôi).
chrki

Có cách dễ dàng hơn, chỉ cần sử dụng LockHunter để xóa nó.
Majkinetor

kịch bản quyền hạn?
PreguntonCojoneroCabrón

27

Chỉ trong trường hợp bất cứ ai tự hỏi tại sao điều này xảy ra ở nơi đầu tiên. Tôi tin rằng tôi đã tái tạo các điều kiện đặc biệt (tôi chắc chắn có những biến thể khác của những điều kiện này có thể gây ra kết quả tương tự):

  1. Tôi đã bắt đầu một số lượng lớn các bản cập nhật Windows rất lớn (một loạt các gói ngôn ngữ và gói dịch vụ, v.v.), trong khi tôi cũng có một số lượng lớn các ứng dụng và cửa sổ khác mở (Tôi là nhà phát triển). Sau đó tôi đi ăn trưa.
  2. Windows Update chạy cho đến khi hệ thống hết bộ nhớ (RAM). Tôi có 32 Gigabyte, nhưng nó không đủ.
  3. Dịch vụ "Trusted Installer.exe" ("Trình cài đặt mô-đun Windows") đã cố gắng nén tệp nhật ký đang phát triển nhanh, nhưng không thể chạy, vì nhật ký tăng quá nhanh hoặc không thể khởi động do bộ nhớ thấp, hoặc cả hai. Vì vậy, khi cần thiết, dịch vụ Windows Module Installer thậm chí không bắt đầu, (thậm chí tạm thời).
  4. Từ đó trở đi, nó không thể xử lý tệp nhật ký, vì nó quá lớn cho việc nén .CAB (khoảng 25 Gigabyte!) Và do đó, chu kỳ luẩn quẩn đã bắt đầu và không có gì có thể ngăn chặn được (ngoại trừ bằng cách can thiệp thủ công như được mô tả bởi " Gin "ở trên).
  5. Khi tệp nhật ký tăng lên 60 Gigabyte trên ổ SSD của tôi, nó đã sử dụng tất cả dung lượng trống của tôi và tôi nhận được cảnh báo "không gian lưu trữ thấp" và bắt đầu tìm kiếm nguyên nhân.

Quá trình sau đây dường như đã khắc phục được sự cố: "vô hiệu hóa dịch vụ Trình cài đặt mô-đun Windows, xóa nội dung của thư mục C: \ Windows \ Logs \ CBS \ và thư mục 'C: \ Windows \ Temp' Bỏ qua bất kỳ tệp nào đang sử dụng, sau đó khởi động lại dịch vụ Windows Module Installer và đặt thành bắt đầu 'thủ công' (mặc định) ". Khởi động lại.


2
Có hàng ngàn file trong c: \ windows \ tạm thời trên máy tính của tôi - hy vọng, cắt tỉa mà đến vài trăm file này sẽ có hiệu lực ngay vào việc giảm sự tăng trưởng bùng nổ của CBS.log
Toybuilder

10

Như một giải pháp thay thế, trên Windows 7, nếu dịch vụ "Trình cài đặt mô-đun Windows" bị dừng, sau đó bắt đầu xuất hiện để kích hoạt quy trình xoay vòng nhật ký tạo tệp cbs.log mới và chuyển tệp cũ vào kho lưu trữ CbsPersist .cab đã nén. Tệp nhật ký 500mb của tôi đã bị nén xuống còn 30mb.

Lưu ý rằng có thể mất vài phút để chạy. Dịch vụ dường như tự dừng lại sau khi hoàn thành.


10
Lưu ý rằng bản thân nó không hoạt động nếu bất kỳ tệp nào đã chạm mốc 2GiB, vì nó makecabchỉ bỏ cuộc khi đến mức đó (để lại một cab_*tệp bị hỏng %WINDIR%\Temp); trong trường hợp đó, bạn cũng cần phải xử lý CbsPersist_*.logtệp quá khổ bằng cách nào đó để TrustedInstaller ("Trình cài đặt mô-đun Windows") sẽ không thử chạy makecabchúng khi khởi động. Tôi đã sử dụng 7-zip để nén tôi vào các tệp .log.xz, nhưng xóa hoặc đổi tên có lẽ cũng là các tùy chọn. Sau đó, khởi động lại nó sẽ chăm sóc những cái có kích thước hợp lý.
SamB

6
@SamB đúng. Sự cố này xảy ra do định dạng .CAB có giới hạn cứng kích thước tệp 2GiB và TrustedInstaller sẽ tiếp tục phát hành makecabthường xuyên, tạo tệp ~ 100MiB mới trong thư mục tạm thời của bạn mỗi lần. Giải pháp là xóa tệp nhật ký 2GB (có thể được thực hiện một cách an toàn, vì chúng chỉ được sử dụng để khắc phục sự cố). Cảm ơn SamB rất nhiều vì đã đăng bài, bạn đã đạt được nguyên nhân gốc rễ của vấn đề này. Tôi đang dùng Windows 7 SP1 64-bit. Tôi không thể tin rằng Microsoft chưa sửa lỗi này.
Syclone0044

Nếu dịch vụ đó đang hoạt động, việc chọn Phần mềm khởi động lại có tác dụng tương tự. Hiệu quả không lớn nếu bạn đã đặt thư mục Logs \ CBS là nén.
PJTraill

5

Trong trường hợp của tôi, tôi đã không thể dừng dịch vụ ngay cả sau khi vô hiệu hóa. Các bước sau đây đã giúp tôi dừng dịch vụ và xóa nhật ký 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.

Chỉ trong trường hợp nếu nó sẽ giúp ai đó.



Có khả năng. Đó là lý do tại sao chúng ta cần dừng dịch vụ như trên để xóa tệp nhật ký.
gnaanaa

1
Có, nhưng vì bạn không thể dừng thủ công, bạn phải tắt và khởi động lại.
StackzOfZtuff

Trên W7x64 của tôi, tôi không thể vô hiệu hóa dịch vụ nhưng tôi có thể giết TrustedInstaller.exe. Điều này đã loại bỏ khóa khỏi tập tin và tôi đã có thể xóa nó.
dùng136036

1

Trên Server 2008 R2, My C:\windows\temptrống. Tôi đã cố xóa nhật ký cbs và nhật ký cbs 2,5 GB tiếp tục quay lại, vì vậy tôi đã kiểm tra C:\windows\tempsau khi cố gắng xóa nhật ký và một số lượng lớn .dmptệp đã xuất hiện ở đó.

Đã xóa chúng và tệp nhật ký đã biến mất. Dung lượng đĩa đã được phục hồi. (Của tôi tiếp tục trở lại ngay cả sau khi xóa nó.)

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.