จำกัด การใช้คำฟุ่มเฟือยของ 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 ย่อมาจาก Component Based Services , นามแฝงTrusted Installer , ดูการทำความเข้าใจเกี่ยวกับการให้บริการที่อิงส่วนประกอบ , เม.ย. 2008, Microsoft Technet ) ในขณะนี้ใช้เวลาถึง 700 MB, 200 รายการซึ่งเขียนใน 30 นาทีสุดท้าย โดยมีรายการแรกเริ่มจาก 9 วันที่แล้ว

พรึบว่าใกล้ชิดกับ 3 ล้านรายการและเกือบทั้งหมดของมันที่ LogLevelข้อมูล โปรดทราบว่านี่เป็นรูปแบบไฟล์บันทึกที่มนุษย์อ่านได้ซึ่งไม่ได้ใช้สำหรับการประมวลผลของเครื่อง ไม่ทราบเกี่ยวกับคุณ แต่ความคิดที่ว่าฉันควรใส่ใจที่จะคำนึงถึง 3 ล้านบรรทัดของข้อมูลโดยค่าเริ่มต้นนัดฉันที่ล้อมรอบไร้สาระ

ผมอยากให้เรื่องนี้หยุดเพราะการทำงานของดิสก์และ CPUมีจุดมุ่งหมายอื่น ๆ กว่าไม่จำเป็นต้องชะลอตัวระบบลง

ดังนั้น: ฉันจะตั้งค่าระดับการบันทึกเป็นคำเตือนหรือข้อผิดพลาดได้อย่างไร เอกสารนี้อยู่ที่ไหน

บวก: ลองนึกภาพว่าแทนที่จะลุยผ่านร้อย megs ของข้อมูล (สำหรับน้อยกว่าสัปดาห์) คุณเพียงต้องการให้ ~ 100 ข้อผิดพลาดสาย? จะไม่เหมาะสมหรือไม่และให้เบาะแสในการแก้ไขปัญหาจริงหรือ จากนั้นคุณจะยังคงมีตัวเลือกให้เปิดข้อมูลในกรณีที่เกิดปัญหาการติดตั้งที่ไม่ชัดเจน

ปรับปรุง:

อ่านความคิดเห็นดูเหมือนว่าฉันไม่ได้ตอบคำถามด้วยความชัดเจนเพียงพอ ฉันไม่ได้ถามวิธีการกรองไฟล์บันทึกที่มีขนาดใหญ่โดยใช้ยูทิลิตีบรรทัดคำสั่ง - เพราะฉันรู้วิธีการทำเช่นนั้นแล้ว ฉันยังไม่ได้ถามวิธีจัดการกับไฟล์บันทึกในลักษณะของการหมุน - เพราะ Windows จะทำเองเมื่อไฟล์ถึงขีด จำกัด ที่ไม่รู้จัก (แม้ว่าคุณจะพบคนถามว่าทำไมไฟล์ถึง 20 กิ๊ก ) สิ่งที่ฉันถามคือวิธีหยุดการบันทึกเฮกโซมบ์บ้านี้ไม่ให้เกิดขึ้นในครั้งแรกโดยอาจตั้งค่าระดับการบันทึกเป็นอะไรที่สูงกว่าข้อมูล. ฉันไม่สามารถหาเอกสารเกี่ยวกับวิธีการตั้งค่าระดับบันทึกได้เนื่องจากอาจไม่มีอยู่ในที่สาธารณะ แต่จะต้องมีวิธีการเพราะซอฟต์แวร์ที่ดีใด ๆ ให้วิธีการตั้งค่าระดับการบันทึก

อัปเดต 2:

ดูคำตอบที่ได้รับ ดูเหมือนว่าการตั้งค่ารีจิสทรีจะมีผลและปิดการบันทึกโดยสมบูรณ์ ซึ่งก็โอเคและค่าเริ่มต้นที่ดีกว่ามากในปัจจุบัน ในการแก้ไขรีจิสทรีคุณต้องแก้ไขการอนุญาต - ดูภาคผนวก

ภาคผนวก: การอนุญาตสำหรับComponent Based Servicingรีจิสตรีคีย์

เมื่อคุณพยายามที่จะตั้งEnableLogไป0, คุณอาจจะสังเกตเห็นว่าคุณไม่ได้มีการเขียนการเข้าถึงHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingและสิ่งที่อยู่ด้านล่าง คุณต้องไปที่ "แก้ไข»สิทธิ์" ในregeditแล้วจึงเป็นเจ้าของก่อนที่จะได้รับอนุญาตให้ทำการแก้ไข:

เป็นเจ้าของและให้สิทธิ์เขียนเอง


3
+5 "ความบ้าคลั่งข้อมูลเฮกomegabyte"
Moab

2
สามารถคัดกรองบันทึก CBS ได้จากพรอมต์คำสั่งนี่เป็นตัวอย่างหนึ่งที่ฉันใช้หลังจากที่ฉันเรียกใช้ System File Checker เมื่อมันรันมันจะส่งออกข้อมูล SFC ที่เกี่ยวข้องไปยังไฟล์ข้อความบนเดสก์ท็อปของฉัน "findstr / c:" [SR] "% windir% \ Logs \ CBS \ CBS.log>% userprofile% \ Desktop \ sfcdetails.tx"
Moab

@Tetsujin ขอบคุณสงสัยว่ามีคำสั่ง findstr อื่น ๆ สำหรับบันทึกอื่น ๆ แต่ google ไม่พบอะไรเลย
Moab

2
โดยประมาณ @Tetsujin โปรดทราบว่าระดับการบันทึกเป็นข้อมูลเท่านั้นไม่ใช่Debugซึ่งจะเพิ่มการใช้คำฟุ่มเฟื่อย ดูบทความ Technet วิธีเปิดใช้งานการบันทึก CBS แบบละเอียดในเดือน พ.ย. 2010 โดย josconเพื่อค้นหาว่าคุณสามารถทำการบันทึกได้อย่างละเอียดยิ่งขึ้น Joscon ระบุในข้อคิดเห็นว่า» ... วิธีที่กำหนดไว้โดยค่าเริ่มต้นคือรายละเอียดที่บันทึกน้อยที่สุด«นั่นเป็นสิ่งที่ยอมรับไม่ได้ มันเป็นสิ่งที่ไม่จำเป็นต้องทำให้ระบบของคุณช้าลง ไม่ใช่สิ่งที่ผู้ใช้ต้องการ บางทีการแก้ไขแบบไบนารีจะทำ
Lumi

ใน Windows Server 2008 สิ่งนี้จะทำให้ TrustedInstaller.exe เริ่มทำงานล้มเหลวทุก ๆ 15 นาที หรืออย่างน้อยฉันก็เชื่อว่านี่คือสาเหตุ ฉันติดตามสิ่งนี้มาระยะหนึ่งแล้ว ความพยายามในปัจจุบันของฉันในการแก้ปัญหาคือทำให้ CBS.log ว่างเปล่าและลบสิทธิ์ทั้งหมดปฏิเสธการเข้าถึง ยังไม่ได้รับการยืนยันหากใช้งานได้เนื่องจากใช้เวลาก่อนที่จะเกิดขึ้น
theultramage

คำตอบ:


11

ในฐานะที่เป็นคำตอบบางส่วนนี่คือการตั้งค่าเพื่อหยุดการบันทึกพร้อมกัน: ในรีจิสทรีให้ไปที่

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

EnableLog 0และการตั้งค่า ที่มา: https://technet.microsoft.com/en-us/library/cc732334%28v=ws.10%29.aspx#CBS


1
ขอบคุณที่ดูเหมือนว่าจะทำงาน หลังจากทำการแก้ไขฉันหยุดบริการ TrustedInstaller แล้วติดตั้งการปรับปรุง (KB3078667) ไม่ใช่ตัวละครเดียวที่ถูกบันทึกเอาไว้ใช่แล้ว! ในการแก้ไขคุณต้องเป็นเจ้าของComponent Based Servicingคีย์ โดยค่าเริ่มต้น TrustedInstaller เท่านั้นที่สามารถเขียนถึงมันและลูกน้องของมัน ดูภาพหน้าจอที่แนบมากับคำถามของฉัน
Lumi

TrustedInstaller สามารถพบได้ในแผงควบคุม> เครื่องมือการดูแลระบบ> บริการภายใต้ชื่อWindows Modules Installer (win7)
Ogmios

2

บันทึก CBS ยังเต็มไปด้วย cleanmgr ด้วยข้อมูลประมาณ 150-200Mb แม้ในขณะที่ทำความสะอาดเกือบจะ 'ไม่มีอะไร' จึงเติมดิสก์ของคุณแทนการทำความสะอาด

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

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