سؤال لماذا حجم ملف CBS.log 20 غيغابايت


قبل يومين كان لي كامل C: محرك الأقراص ، وبعد ذلك قمت بحذف 8 غيغابايت من البيانات. في اليوم التالي كان القرص الصلب ممتلئًا مرة أخرى ، لذلك واصلت حذف 5 غيغابايت أخرى ، ومرة ​​أخرى في اليوم التالي كان القرص ممتلئًا.

بعد بعض البحث عن سبب شغل مساحة القرص بسرعة ، استخدمت windirstat أداة للعثور على الملفات التي احتلت المساحة الأكبر. لقد وجدت أن CBS.log الملف ، الذي يقع في c:\windows\logs\cbs\، هو 20 غيغابايت كبيرة.

أنا أستخدم Windows 8.

  • هل يجب أن يكون هذا الملف بهذا الحجم ، وإذا لم يكن كذلك ، فكيف يمكنني تقليل الحجم؟
  • ما هو الغرض من هذا الملف؟
  • هل يمكنني حذفها؟

127
2017-08-27 18:16


الأصل


لقد قمت بإضافة التسجيل المطول؟ blogs.technet.com/b/joscon/archive/2010/11/18/... - magicandre1981


الأجوبة:


هذا هو ملف يتم إنشاؤه بواسطة Microsoft Windows Resource Checker (SFC.exe).

لا ، لا ينبغي أن يكون بهذا الحجم. يجب إنشاء CBS.persist.log عندما يصل حجم CBS إلى 50 ميج. يجب أن يتم نسخ CBS.log إلى cbs.persist.log ويجب بدء تشغيل ملف cbs.log جديد.

يمكنك محاولة ضغط الملف:

  • إذا قمت بالنقر بزر الماوس الأيمن فوق ملف CBS.log
  • ثم انقر فوق خصائص
  • في التبويب عام ، انقر فوق "خيارات متقدمة"
  • تحقق من "ضغط المحتويات لتوفير مساحة القرص" وانقر على موافق

أو إذا كنت متأكدًا من أن النظام يعمل بشكل جيد ، يمكنك حذف هذا الملف. سوف SFC.exe إنشاء واحدة جديدة ، في المرة التالية يتم تشغيله. ولكن ، قد يكون مفيدًا لتحرّي المشكلات وإصلاحها.


34
2017-08-27 18:30



مجرد FYI ، CBS.log لا يتم إنشاؤها بواسطة SFC. بينما SFC لا إلحاق به (مع [SR] العلامة) يبدو TrustedInstaller.exe (ويعرف أيضا باسم CBS المجهزة بناء الخدمة) هو ما يخلق ملفات السجل. مصدر: فهم الخدمة المستندة إلى المكون - Vinayak
أم ، أشك بشدة أن ضغط NTFS سيمنع نموذج TrustedInstaller في محاولة لتشغيل makecab على ملف السجل ، الذي سيموت إذا كان> = 2 GiB في الحجم. والفكرة الأفضل هي ضغطها في بعض صيغ الضغط الصريحة الأخرى ، والتي عادة ما تعطيها اسمًا جديدًا ، وبالتالي تمنع TrustedInstaller من تغذيةها بلا طائل إلى makecab... - SamB
SAMB صحيح. تحدث هذه المشكلة نظرًا لأن تنسيق .CAB يحتوي على حد صعب حجم الملف 2GiB وسيستمر TrustedInstaller في إصدار makecabبشكل روتيني ، إنشاء ملف ~ 100MiB جديد في مجلد temp في كل مرة. الحل هو إزالة ملف السجل 2GB (والذي يمكن تنفيذه بأمان ، حيث يتم استخدامه فقط لاستكشاف الأخطاء وإصلاحها). - Syclone0044
لماذا تم تحديد هذا كإجابة صحيحة عندما يقترحVinayak أنها حصلت على تفاصيل خاطئة؟ من المؤكد أن هذا هو ما هي وظيفة "تحرير"؟ - Criggie


كان لدي ملف cbs.persist.log من 17 جيجابايت ، كما كنت على يقين من أنه لم يكن لي ملء SSD بلدي ، بحثت عن ملفات كبيرة غير عادية في دليل سجل ويندوز. يمكن فقط التفكير في مشكلة ضغط على أي حال.

لذا ، لإعادة ضبط الضغط في مجلد CBS استخدمت الطريقة التالية:

  1. تعطيل TrustedInstaller.exe (Windows Installer) في خدمات Taskmanager
  2. حذف كافة ملفات .log في C: \ Windows \ Logs \ CBS دليل، احذف ملفات .pers و .cab كذلك
  3. تمكين TrustedInstaller.exe مرة أخرى

ملاحظة: تنظيف مجلد CBS بإعادة تعيين عملية الضغط ، بحيث لا يجب أن يزيد حجم ملفات السجل الجديدة عن 50 ميغابايت قبل الضغط إلى ملفات .cab كما يجب أن تكون.

لا توجد نتيجة مرئية مباشرة ، تحتاج إلى الانتظار حتى يكون ملف السجل هذا كبيرًا بما يكفي.

لا يزال هذا الحل يعمل لي على Windows 7/8 / 8.1 بعد عام واحد

على الرغم من أنني لا أستطيع التأكد من أن الضغط لن يفشل مرة أخرى ، إذا حدث ذلك ... ثم ببساطة تكرار الحل مرة أخرى ولكن تأكد من تعطيل TrustedInstaller قبل حذف الملفات في مجلد CBS.

أتمنى أن يساعدك هذا.


85
2017-07-22 23:26



شكرا على هذا! "makecab.exe" كان يقودني إلى الجنون ، أبقي كل النوى الأربعة بنسبة 50٪ وأرمي رسائل اكتشاف الخدمات التفاعلية طوال الوقت. أخيراً ، يتصرف Windows مرة أخرى. - bythescruff
كيف تقوم بتعطيل برنامج Windows Module Installer؟ في نافذة "الخدمات" ، يتم تنشيط كل الأزرار لبدء التشغيل ، والتوقف ، والاستئناف ، والإيقاف المؤقت إلخ. إدارة مهام Windows أيضاً غير قادر على قتل TrustedInstaller.exe .. - Alph.Dev
@ Alph.Dev أنا أيضا - cja
@ Alph.Dev ابدأ services.msc عبر Win + R ("Run") ، ابحث عن الخدمة ، انقر بزر الماوس الأيمن - Properties - Start: Disable. ثم أعد التشغيل ، وقم بتنظيف الملفات ، ثم أعدها إلى يدوي أو تلقائي (كان التلقائي هو النظام الافتراضي في نظام Win7 الخاص بي). - chrki
هناك طريقة أسهل ، فقط استخدم LockHunter لحذفها. - majkinetor


فقط في حالة أي شخص يتساءل لماذا يحدث هذا في المقام الأول. أعتقد أنني استنسخت الشروط الخاصة (أنا متأكد من أن هناك اختلافات أخرى في هذه الشروط قد تسبب نفس النتيجة):

  1. لقد بدأت عددًا كبيرًا جدًا من تحديثات Windows الكبيرة (مجموعة من حزم اللغات وحزم الخدمة إلخ) ، بينما كنت أيضاً كان هناك عدد كبير من التطبيقات والنوافذ الأخرى مفتوحة (أنا مطور). ثم ذهبت لتناول الغداء.
  2. ركض Windows Update حتى نفاد الذاكرة (RAM). لدي 32 غيغابايت ، لكنه لم يكن كافياً.
  3. خدمة "Trusted Installer.exe" (خدمة "Windows Module Installer") حاولوا ضغط ملف السجل الذي ينمو بسرعة ، ولكن لا يمكن تشغيله ، إما لأن السجل نما بسرعة كبيرة ، أو أنه لا يمكن أن يبدأ بسبب ذاكرة منخفضة ، أو كليهما. لذلك عندما كانت هناك حاجة ، وحدة ويندوز لم تبدأ خدمة المثبت حتى على الإطلاق (حتى بشكل مؤقت).
  4. من الآن فصاعدا ، لا يمكن التعامل مع ملف السجل ، كما كان كذلك كبير لضغط .CAB (حوالي 25 غيغا بايت!) وهكذا بدأت حلقة مفرغة ولا يمكن لأي شيء أن يوقفها (باستثناء دليل) التدخل كما هو موضح من قبل "جين" أعلاه).
  5. بمجرد أن ينمو ملف السجل إلى 60 غيغابايت على SSD الخاص بي ، فإنه يستخدم كل ما عندي الفضاء الحر وحصلت على تحذير "مساحة تخزين منخفضة" ، وبدأت تبحث عن السبب.

يبدو أن العملية التالية قد أدت إلى إصلاح المشكلة: "تعطيل خدمة Windows Module Installer ، وحذف محتويات المجلد C: \ Windows \ Logs \ CBS \ ، والمجلد" C: \ Windows \ Temp "- تخطي أي ملفات قيد الاستخدام ، ثم بدء تشغيل خدمة Windows Module Installer مرة أخرى وتعيينها إلى بدء 'يدوي' (الافتراضي) ". اعادة التشغيل.


26
2018-01-26 23:35



وظيفة لطيفة ومثيرة للاهتمام للغاية. - zb226
كان هناك الآلاف من الملفات في c: \ windows \ temp على الجهاز الخاص بي - آمل أن التقليل من ذلك إلى بضع مئات من الملفات سيكون له التأثير الصحيح على تقليل النمو الهائل لـ CBS.log - Toybuilder


كحل مؤقت ، على Windows 7 ، إذا توقفت خدمة "Windows Modules Installer" ، عندئذ يبدأ تشغيلها لتشغيل عملية تدوير السجل الذي يقوم بإنشاء ملف cbs.log جديد وينقل الملف القديم إلى أرشيف ccPersist .cab المضغوط. حصلت على ملف السجل بلدي 500mb إلى 30MB.

لاحظ أن الأمر قد يستغرق بضع دقائق للتشغيل. يبدو أن الخدمة تتوقف عن نفسها تلقائيًا بمجرد انتهائها.


10
2017-07-29 00:16



لاحظ أنه لا يعمل بنفسه إذا كان أي من الملفات قد بلغ علامة 2GiB بالفعل ، مثل makecab يستسلم فقط عندما يحصل على هذا الحد في (ترك الفاسدين cab_* إملأ %WINDIR%\Temp)؛ في هذه الحالة ، تحتاج أيضا إلى التخلص من المتضخم CbsPersist_*.log ملف بطريقة ما حتى TrustedInstaller ("Windows Modules Installer") لن يحاول تشغيل makecab عليهم عند بدء التشغيل. استخدمت 7-zip لضغط ملفي إلى ملفات .log.xz ، ولكن من المفترض أن يكون الحذف أو إعادة التسمية أيضًا خيارات. بعد ذلك ، إعادة تشغيله سوف يعتني بالحجم المعقول. - SamB
SAMB صحيح. تحدث هذه المشكلة نظرًا لأن تنسيق .CAB يحتوي على حد صعب حجم الملف 2GiB وسيستمر TrustedInstaller في إصدار makecab بشكل روتيني ، إنشاء ملف ~ 100MiB جديد في مجلد temp في كل مرة. الحل هو إزالة ملف السجل 2GB (والذي يمكن تنفيذه بأمان ، حيث يتم استخدامه فقط لاستكشاف الأخطاء وإصلاحها). شكرا جزيلا SamB للنشر ، وصلت إلى السبب الجذري لهذه المشكلة. أنا على Windows 7 SP1 64 بت. لا أستطيع أن أصدق مايكروسوفت لم إصلاح هذا حتى الآن. - Syclone0044
إذا كانت هذه الخدمة نشطة ، فإن اختيار "إعادة التشغيل" له نفس التأثير. التأثير ليس كبيرا إذا قمت بتعيين سجلات \ CBS الدليل مضغوط. - PJTraill


في حالتي لم أتمكن من إيقاف الخدمة حتى بعد تعطيلها. ساعدتني الخطوات التالية لإيقاف الخدمة وإزالة سجل 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.

فقط في حالة ما إذا كان من شأنه أن يساعد شخص ما.


5
2018-05-18 03:13



يقول رجل في منتديات MS أن هذا هو حسب التصميم: لاحظ أنه في Windows 7 لا يمكنك إيقاف هذه الخدمة ، ولكن يمكنك تعطيلها ، ثم إعادة التمهيد ، ثم حذف cbs.log. - StackzOfZtuff
ربما. هذا هو السبب في أننا بحاجة إلى إيقاف الخدمة على النحو الوارد أعلاه لإزالة ملف السجل. - gnaanaa
نعم ، ولكن بما أنه لا يمكنك إيقافها يدويًا ، فيجب عليك تعطيلها وإعادة تشغيلها. - StackzOfZtuff
على بلدي W7x64 لم أتمكن من تعطيل الخدمة ولكن يمكنني قتل TrustedInstaller.exe. هذا إزالة القفل من الملف وتمكنت من حذفها. - user136036


على خادم 2008 R2 ، بلدي C:\windows\temp كان فارغا. حاولت حذف سجلات cbs وسجلات 2.5 GB cbs أبقى يعود ، لذلك راجعت C:\windows\temp بعد محاولة حذف السجل وعدد كبير من .dmp ملفات ظهرت هناك.

تم حذف هذه الملفات وسجلها الآن. لقد تعافى مساحة القرص. (ظلت الألغام تعود حتى بعد حذفها.)


1
2018-06-03 16:30