ทำไมขนาดไฟล์ CBS.log ถึง 20 GB


129

สองวันที่ผ่านมาฉันมีC:ไดรฟ์เต็มรูปแบบหลังจากนั้นฉันลบข้อมูล 8 GB ในวันถัดไปฮาร์ดไดรฟ์เต็มอีกครั้งดังนั้นฉันจึงลบต่อไปอีก 5 GB และอีกครั้งในวันถัดไปที่ดิสก์เต็ม

หลังจากการค้นหาสิ่งที่ทำให้พื้นที่ดิสก์เต็มอย่างรวดเร็วฉันใช้windirstatเครื่องมือเพื่อค้นหาไฟล์ที่ใช้พื้นที่มากที่สุด ฉันพบว่าCBS.logไฟล์ที่อยู่ในc:\windows\logs\cbs\นั้นมีขนาดใหญ่ 20 GB

ฉันใช้ Windows 8

  • ไฟล์นี้ควรมีขนาดใหญ่และถ้าไม่ฉันจะลดขนาดได้อย่างไร
  • ไฟล์นี้มีวัตถุประสงค์อะไร?
  • ฉันสามารถลบมันได้หรือไม่

คุณได้เพิ่มการบันทึก verbose หรือไม่? blogs.technet.com/b/joscon/archive/2010/11/18/…
magicandre1981

คำตอบ:


34

นั่นคือไฟล์ที่สร้างโดย Microsoft Windows Resource Checker (SFC.exe)

ไม่มันไม่ควรใหญ่ขนาดนั้น ควรสร้าง CBS.persist.log เมื่อ CBS ​​มีขนาดประมาณ 50 เมกกะไบต์ ควรคัดลอก CBS.log ไปยัง cbs.persist.log และควรเริ่มต้นไฟล์ cbs.log ใหม่

คุณสามารถลองบีบอัดไฟล์:

  • หากคุณคลิกขวาที่ไฟล์ CBS.log
  • จากนั้นคลิกที่คุณสมบัติ
  • บนแท็บทั่วไปให้คลิกขั้นสูง
  • ตรวจสอบ "บีบอัดเนื้อหาเพื่อประหยัดพื้นที่ดิสก์" และคลิกที่ตกลง

หรือหากคุณมั่นใจว่าระบบของคุณทำงานได้ดีคุณสามารถลบไฟล์นี้ได้ SFC.exe จะสร้างขึ้นมาใหม่ในครั้งถัดไปที่มันถูกเรียกใช้ แต่อาจเป็นประโยชน์สำหรับการแก้ไขปัญหา


16
เพียงแค่ FYI CBS.logไม่ได้สร้างโดย SFC ในขณะที่ SFC จะผนวกเข้ากับมัน (ด้วย[SR]แท็ก) ดูเหมือนว่า TrustedInstaller.exe (หรือที่รู้จักในชื่อ CBS ​​หรือที่เรียกว่า Component Based Servicing) คือสิ่งที่สร้างล็อกไฟล์ ที่มา: การทำความเข้าใจกับการบริการโดยอิงส่วนประกอบ
Vinayak

3
อืมฉันสงสัยอย่างจริงจังว่าการบีบอัด NTFS จะป้องกันไม่ให้แบบฟอร์ม TrustedInstaller พยายามเรียกใช้makecabบน logfile ซึ่งจะตายหากขนาด> = 2 GiB ความคิดที่ดีกว่าคือการบีบอัดไฟล์ในรูปแบบการบีบอัดที่ชัดเจนอื่น ๆ ซึ่งโดยทั่วไปจะให้ชื่อไฟล์ใหม่ดังนั้นจึงป้องกัน TrustedInstaller ไม่ให้ป้อนไฟล์ไปที่makecab...
SamB

5
@SamB ถูกต้อง ปัญหานี้เกิดขึ้นเนื่องจากรูปแบบ. CAB มีข้อ จำกัด ขนาดไฟล์ขนาด 2GiB และ TrustedInstaller จะดำเนินการออกmakecabเป็นประจำเพื่อสร้างไฟล์ ~ 100MiB ใหม่ในโฟลเดอร์ชั่วคราวทุกครั้ง วิธีแก้ไขคือลบไฟล์บันทึก 2GB (ซึ่งสามารถทำได้อย่างปลอดภัยเนื่องจากไฟล์เหล่านี้ใช้สำหรับการแก้ไขปัญหาเท่านั้น)
Syclone0044

6
ทำไมเครื่องหมายนี้ถูกทำเครื่องหมายเป็นคำตอบที่ถูกต้องเมื่อ @Vinayak แนะนำว่ามีรายละเอียดที่ไม่ถูกต้อง แน่นอนว่าเป็นสิ่งที่ฟังก์ชั่น "แก้ไข" มีไว้เพื่ออะไร?
Criggie

85

ฉันมีไฟล์ cbs.persist.log ขนาด 17 gb เนื่องจากฉันแน่ใจว่าไม่ใช่ฉันกรอก ssd ของฉันฉันค้นหาไฟล์ขนาดใหญ่ผิดปกติในไดเรกทอรีบันทึกของ windows นึกถึงปัญหาการบีบอัดเท่านั้น

ดังนั้นเพื่อรีเซ็ตการบีบอัดในโฟลเดอร์ CBS ฉันใช้วิธีต่อไปนี้:

  1. ปิดการใช้งาน TrustedInstaller.exe (ตัวติดตั้งโมดูล Windows) ใน Taskmanager Services
  2. ลบไฟล์. log ทั้งหมดในไดเรกทอรี C: \ Windows \ Logs \ CBSลบไฟล์ .persist และ. cab
  3. เปิดใช้งาน TrustedInstaller.exe อีกครั้ง

หมายเหตุ: การล้างข้อมูลโฟลเดอร์ CBS จะรีเซ็ตกระบวนการบีบอัดดังนั้นไฟล์บันทึกที่สร้างขึ้นใหม่ไม่ควรมีขนาดใหญ่กว่า 50 Mb ก่อนการบีบอัดเป็นไฟล์. cab ตามที่ควรจะเป็น

ไม่มีผลลัพธ์ที่เห็นได้โดยตรงคุณต้องรอจนกว่าไฟล์บันทึกดังกล่าวจะมีขนาดใหญ่พอ

โซลูชันนี้ยังใช้งานได้กับฉันใน Windows 7/8 / 8.1 หลังจากผ่านไป 1 ปี

แม้ว่าฉันจะไม่สามารถมั่นใจได้ว่าการบีบอัดข้อมูลจะไม่ล้มเหลวอีกต่อไปหากทำได้ ... เพียงแค่ทำซ้ำโซลูชันอีกครั้ง แต่ต้องปิดการใช้งาน TrustedInstaller ก่อนที่จะลบไฟล์ในโฟลเดอร์ CBS

หวังว่านี่จะช่วยได้


5
คุณจะปิดการใช้งาน Windows Module Installer ได้อย่างไร ในหน้าต่าง "บริการ" ปุ่มทั้งหมดในการเริ่มหยุดดำเนินการต่อหยุดชั่วคราว ฯลฯ จะเป็นสีเทา ตัวจัดการงานของ Windows ยังไม่สามารถฆ่า TrustedInstaller.exe ..
Alph.Dev

3
@ Alph.Dev เริ่มต้นservices.mscด้วย Win + R ("Run") ค้นหาบริการคลิกขวา - Properties - Start: Disable จากนั้นรีบูตทำความสะอาดไฟล์และตั้งกลับเป็น Manual หรือ Automatic (อัตโนมัติเป็นค่าเริ่มต้นในระบบ Win7 ของฉัน)
chrki

มีวิธีที่ง่ายกว่าเพียงแค่ใช้ LockHunter เพื่อลบมัน
majkinetor

สคริปต์ PowerShell?
PreguntonCojoneroCabrón

27

ในกรณีที่ทุกคนสงสัยว่าทำไมสิ่งนี้เกิดขึ้นในสถานที่แรก ฉันเชื่อว่าฉันทำซ้ำเงื่อนไขพิเศษ (ฉันแน่ใจว่ามีความแตกต่างอื่น ๆ ของเงื่อนไขเหล่านี้ที่อาจทำให้ผลลัพธ์เดียวกัน):

  1. ฉันเริ่มต้นการอัปเดต Windows ที่มีขนาดใหญ่มากจำนวนมาก (ชุดภาษาและเซอร์วิสแพ็คเป็นต้น) ในขณะที่ฉันยังมีแอพและหน้าต่างอื่น ๆ จำนวนมากเปิดขึ้นมา (ฉันเป็นนักพัฒนา) ฉันไปทานอาหารกลางวัน
  2. Windows Update ทำงานจนระบบหมดหน่วยความจำ (RAM) ฉันมี 32 กิกะไบต์ แต่ก็ไม่เพียงพอ
  3. บริการ "Trusted Installer.exe" ("บริการติดตั้ง Windows Module") พยายามบีบอัดไฟล์บันทึกที่เติบโตอย่างรวดเร็ว แต่ไม่สามารถทำงานได้เนื่องจากล็อกโตเร็วเกินไปหรือไม่สามารถเริ่มทำงานได้เนื่องจากหน่วยความจำเหลือน้อย หรือทั้งคู่. ดังนั้นเมื่อจำเป็นต้องใช้บริการตัวติดตั้งโมดูล Windows จึงไม่เริ่มเลยแม้แต่น้อย (ชั่วคราว)
  4. จากนั้นเป็นต้นมามันไม่สามารถจัดการกับไฟล์บันทึกได้เนื่องจากมีขนาดใหญ่เกินไปสำหรับการบีบอัด. CAB (ประมาณ 25 กิกะไบต์) และดังนั้นวงจรอุบาทว์ก็เริ่มขึ้นและไม่มีสิ่งใดสามารถหยุดมันได้ (ยกเว้นการแทรกแซงด้วยตนเองตามที่อธิบายโดย " จิน "ด้านบน)
  5. เมื่อไฟล์บันทึกเติบโตขึ้นถึง 60 กิกะไบต์บน SSD ของฉันมันใช้พื้นที่ว่างทั้งหมดของฉันและฉันได้รับคำเตือน "พื้นที่เก็บข้อมูลต่ำ" และเริ่มหาสาเหตุ

กระบวนการต่อไปนี้ดูเหมือนว่าจะแก้ไขปัญหา: "ปิดใช้งานบริการตัวติดตั้ง Windows Module ลบเนื้อหาของโฟลเดอร์ C: \ Windows \ Logs \ CBS \ และโฟลเดอร์ 'C: \ Windows \ Temp' - ข้ามไฟล์ใด ๆ ที่ใช้งานอยู่แล้ว เริ่มบริการตัวติดตั้งโมดูลของ Windows อีกครั้งและตั้งค่าเป็น 'เริ่มต้น' ด้วยตนเอง (ค่าเริ่มต้น) " Reboot


2
มีไฟล์หลายพันไฟล์ใน c: \ windows \ temp บนเครื่องของฉัน - หวังว่าการตัดให้เหลือเพียงไม่กี่ร้อยไฟล์จะมีผลในการลดการเติบโตของ CBS.log
Toybuilder

10

สำหรับวิธีแก้ปัญหาใน Windows 7 หากบริการ "ตัวติดตั้ง Windows Modules" หยุดทำงานการเริ่มต้นจะปรากฏขึ้นเพื่อทริกเกอร์กระบวนการหมุนบันทึกที่สร้างไฟล์ cbs.log ใหม่และย้ายไฟล์เก่าไปยังที่เก็บถาวร CbsPersist .cab ที่บีบอัด ไฟล์บันทึก 500mb ของฉันถูกบีบอัดลงไปที่ 30mb

โปรดทราบว่าอาจใช้เวลาสักครู่ในการทำงาน บริการดูเหมือนว่าจะหยุดตัวเองโดยอัตโนมัติเมื่อมันทำ


10
โปรดทราบว่ามันไม่สามารถใช้งานได้หากไฟล์ใด ๆ มีเครื่องหมาย 2GiB อยู่แล้วเช่นเดียวกับที่makecabจะยอมแพ้เมื่อมันเข้าใกล้ (ปล่อยให้cab_*ไฟล์เสียหาย%WINDIR%\Temp) ในกรณีดังกล่าวคุณต้องกำจัดCbsPersist_*.logไฟล์ที่มีขนาดใหญ่ดังนั้น TrustedInstaller ("ตัวติดตั้งโมดูล Windows") จะไม่พยายามเรียกใช้makecabเมื่อเริ่มต้น ฉันใช้ 7-zip เพื่อบีบอัดของฉันลงในไฟล์. log.xz แต่การลบหรือเปลี่ยนชื่อน่าจะเป็นตัวเลือกด้วย หลังจากนั้นการรีสตาร์ทจะดูแลสิ่งที่มีขนาดพอสมควร
SamB

6
@SamB ถูกต้อง ปัญหานี้เกิดขึ้นเนื่องจากรูปแบบ. CAB มีข้อ จำกัด ขนาดไฟล์ขนาด 2GiB และ TrustedInstaller จะดำเนินการออกmakecabเป็นประจำเพื่อสร้างไฟล์ ~ 100MiB ใหม่ในโฟลเดอร์ temp ของคุณทุกครั้ง วิธีแก้ไขคือลบไฟล์บันทึก 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 นี่เป็นการลบล็อคออกจากไฟล์และฉันก็สามารถลบได้
136036

1

บนเซิร์ฟเวอร์ 2008 R2 ของฉันC:\windows\tempว่างเปล่า ฉันพยายามลบบันทึก cbs และบันทึก 2.5 GB cbs กลับมาดังนั้นฉันจึงตรวจสอบC:\windows\tempหลังจากพยายามลบบันทึกและมี.dmpไฟล์จำนวนมากปรากฏขึ้นที่นั่น

ลบสิ่งเหล่านี้แล้วไฟล์บันทึกจะหายไป กู้คืนพื้นที่ว่างในดิสก์แล้ว (ของฉันยังคงกลับมาแม้จะลบไปแล้ว)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.