Обмежте багатослівність Windows CBS.log, встановіть рівень журналу, зупиніть безумство інформаційного гектомегабайт


18

У Windows 7 (Home Premium 64 Bit) записано сотні мегабайт реєстрації даних, до яких ніхто ніколи не потурбується читати 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 - коротке для компонентних служб , псевдонім Trusted Installer , див. Розуміння обслуговування на основі компонентів , квітень 2008, Microsoft Technet ) наразі займає 700 Мб, 200 з яких написано за останні 30 хвилин , з першим записом, що відбувся 9 днів тому.

Загалом це близько 3 мільйонів записів, і майже вся їх інформація в loglevel Info . Зауважте, це формат файлу журналу, що читається людиною, очевидно, не для машинного опрацювання. Не знаю про вас, але думка про те, що я повинен заважати враховувати 3 мільйони рядків Інформації за замовчуванням, вражає мене, як межує з абсурдом.

Я хочу, щоб це припинилося, оскільки діяльність диска та процесора не виконує жодних цілей, крім того, що зайве уповільнення роботи системи .

Отже: Як встановити рівень журналу на попередження або помилку ? Де це документально зафіксовано?

Плюс: уявіть, що замість того, щоб пробиратися через сотні мег інформації (протягом трохи більше тижня), ви б зберегли лише ~ 100 рядків помилок ? Хіба це не має сенсу і насправді надавати підказки щодо усунення несправностей? Тоді ви все ще матимете можливість увімкнути Інформацію, якщо виникла не очевидна проблема встановлення.

Оновлення:

Читаючи коментарі, здається, я не поставив своє запитання достатньо чітко. Мене не запитують, як відфільтрувати файли журналу за допомогою утиліт командного рядка - тому що я вже знаю, як це зробити. Я також не запитую, як поводитись з файлами журналів шляхом обертання журналу - тому що Windows зробить це самостійно, коли файл досягне якогось невідомого порогу (хоча ви знайдете людей, які запитують, чому файл досягає 20 гігів ). Мене просто запитують , як запобігти появі цього шаленого гектомегабайт в першу чергу, ймовірно, встановивши рівень журналу на щось вище, ніж інформація. Я просто не можу знайти документацію про те, як встановити рівень журналу, можливо, тому що він не існує публічно. Але повинен бути спосіб, оскільки будь-яке гідне програмне забезпечення забезпечує спосіб встановлення рівня журналу.

Оновлення 2:

Дивіться відповідь. Здається, що параметр реєстру набуває чинності і повністю закриває журнал. Що нормально і набагато кращий за замовчуванням, ніж нинішній. Щоб змінити реєстр, потрібно виправити дозволи - див. Додаток.

Додаток: Дозволи на Component Based Servicingключ реєстру

Коли ви спробуєте встановити EnableLogзначення 0, ви, ймовірно, помітите, що у вас немає доступу до запису HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingта інших матеріалів під ним. Вам потрібно увійти "Редагувати» Дозволи ", regeditа потім взяти право власності, перш ніж мати змогу вносити зміни:

Отримайте право власності та надайте дозвіл на написання


3
+5 "Гектомегабайт інформаційного безумства"
Моаб

2
Журнал CBS можна відфільтрувати з командного рядка, ось приклад одного, який я використовую після запуску перевірки системних файлів, коли він запускається, виводить відповідну інформацію про SFC у текстовий файл на робочому столі. "findstr / c:" [SR] "% windir% \ Журнали \ CBS \ CBS.log>% userprofile% \ Desktop \ sfcdetails.tx"
Moab

@Tetsujin спасибі, цікавилось, чи існують інші команди findstr для інших журналів, але Google не знайшов нічого.
Моаб

2
З урахуванням @Tetsujin, зауважте, що рівень журналу - це лише інформація , а не налагодження , що може означати збільшення багатослівності. Дивіться статтю Technet Як увімкнути багатослівний журнал CBS , листопад 2010, компанією joscon, щоб дізнатися, що ви можете зробити журнал ще більш детальним. У коментарі Джоскон заявляє, що "... спосіб його встановлення за замовчуванням є найменш детальним в журналі". Це неприпустимо. Це те, що непотрібно уповільнює вашу систему. Не те, що хочуть користувачі. Можливо, буде виконано бінарне редагування.
Лумі

У Windows Server 2008, з часом, TrustedInstaller.exe почне виходити з ладу кожні 15 хвилин. Або, принаймні, я вважаю, що це причина; Я відстежую це вже деякий час. Моя поточна спроба вирішити проблему - зробити порожній CBS.log та видалити всі дозволи, забороняючи доступ. Ще не підтвердили, чи це працює, оскільки це займе деякий час роботи, перш ніж воно почне відбуватися.
thetratramage

Відповіді:


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 може записувати на нього та його підмножини. Дивіться скріншот, доданий до мого питання.
Лумі

TrustedInstaller можна знайти в Панелі керування> Адміністративні інструменти> Послуги під назвою інсталятора модулів Windows (win7).
Огміос

2

Журнал CBS також заповнюється cleanmgr з приблизно 150-200Mb даних, навіть при чищенні майже "нічого", таким чином заповнюючи ваш диск замість очищення.

Я виявив, що журнал CBS можна очистити після зупинки служби TrustedInstaller, після перезавантаження інсталятора модуля Windows після цього запуститься служба знову. Майте на увазі, що журнал Microsoft використовується в деяких програмах налагодження.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.