विंडोज सीबीएस.लॉग वर्बोसिटी को प्रतिबंधित करें, लॉग स्तर सेट करें, हेक्टोमेगबाइट जानकारी पागलपन को रोकें


18

विंडोज 7 (होम प्रीमियम 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

सीधे शब्दों में, सीबीएस लॉगफाइल (सीबीएस घटक आधारित सेवाओं के लिए कम है , उर्फ ट्रस्टेड इंस्टॉलर , अंडरस्टैंडिंग कम्पोनेंट-आधारित सर्विसिंग देखें , अप्रैल 2008, माइक्रोसॉफ्ट टेक्नेट ) इस समय 700 एमबी तक ले जाता है, जिनमें से 200 अंतिम 30 मिनट में लिखे जाते हैं। , पहले प्रवेश के साथ 9 दिनों से उपजी है।

कुल मिलाकर यह 3 मिलियन प्रविष्टियों के करीब है, और लगभग पूरी तरह से loglevel जानकारी है । ध्यान रखें, यह एक मानव-पठनीय लॉग फ़ाइल प्रारूप है, जाहिरा तौर पर मशीन प्रसंस्करण के लिए नहीं। आपके बारे में नहीं जानते हैं, लेकिन यह धारणा कि मुझे बेतुके तरीके से सीमा के रूप में जानकारी की 3 मिलियन लाइनों को डिफ़ॉल्ट रूप से लेने के लिए परेशान करना चाहिए ।

मैं चाहता हूं कि यह बंद हो जाए क्योंकि डिस्क और सीपीयू गतिविधि बिना किसी उद्देश्य के सिस्टम को धीमा करने के अलावा कोई उद्देश्य नहीं देती है

तो: मैं चेतावनी या त्रुटि के लिए लॉग स्तर कैसे सेट करूं ? यह कहाँ प्रलेखित है?

प्लस: कल्पना करें कि इंफो के सैकड़ों मेग्स के माध्यम से वैडिंग करने के बजाय (एक हफ्ते से थोड़ा अधिक समय तक) आप केवल ~ 100 एरर लाइन्स रखेंगे ? क्या यह सिर्फ समझ में नहीं आएगा और वास्तव में समस्या निवारण में सुराग प्रदान करेगा? तब भी आपके पास जानकारी को चालू करने का विकल्प होता है जब कोई स्पष्ट स्थापना समस्या उत्पन्न होती है।

अपडेट करें:

टिप्पणियों को पढ़ते हुए, ऐसा लगता है कि मैंने अपना प्रश्न पर्याप्त स्पष्टता के साथ नहीं लिखा है। मैं यह नहीं पूछ रहा कि कमांड लाइन उपयोगिताओं का उपयोग करके विनम्र लॉग फ़ाइल को कैसे फ़िल्टर किया जाए - क्योंकि मैं पहले से ही जानता हूं कि यह कैसे करना है। मैं यह भी नहीं पूछ रहा हूं कि लॉग रोटेशन के रास्ते में लॉग फ़ाइलों से कैसे निपटना है - क्योंकि विंडोज अपने आप ही करेगा जब फ़ाइल कुछ अज्ञात सीमा तक पहुंच जाती है (हालांकि आप लोगों से पूछेंगे कि फ़ाइल 20 गीगा तक क्यों पहुंचती है )। मैं जो पूछ रहा हूं वह यह है कि इस पागल हेक्टोमेगबाइट को पहले स्थान पर होने से कैसे रोका जाए , संभवतया लॉग लेवल को इंफो से कुछ ऊंचा करने के लिए।। मैं सिर्फ लॉग स्तर सेट करने के बारे में दस्तावेज़ीकरण नहीं पा सकता हूं, संभवतः क्योंकि यह सार्वजनिक रूप से मौजूद नहीं है। लेकिन एक तरीका होना चाहिए क्योंकि कोई भी सभ्य सॉफ़्टवेयर लॉग स्तर सेट करने का एक तरीका प्रदान करता है।

अपडेट 2:

दिया गया उत्तर देखें। रजिस्ट्री सेटिंग प्रभावी होती है और लॉग अप को पूरी तरह से बंद कर देती है। जो ठीक है और वर्तमान की तुलना में बहुत बेहतर डिफ़ॉल्ट है। रजिस्ट्री को संपादित करने के लिए, आपको अनुमतियों को ठीक करने की आवश्यकता है - परिशिष्ट देखें।

परिशिष्ट: Component Based Servicingरजिस्ट्री कुंजी पर अनुमतियाँ

जब आप सेट EnableLogकरने की कोशिश करते हैं 0, तो आप शायद नोटिस करेंगे कि आपके पास HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingइसके नीचे और उसके लिए एक्सेस नहीं है । आपको regeditसंपादन करने की अनुमति दिए जाने से पहले "संपादित करें" अनुमतियाँ "में जाना होगा और फिर स्वामित्व लेना होगा:

स्वामित्व लें और स्वयं को अनुमति दें


3
+5 "हेक्टोमेगबाइट जानकारी पागलपन"
Moab

2
सीबीएस लॉग को कमांड प्रॉम्प्ट से फ़िल्टर किया जा सकता है, यहां एक उदाहरण है जिसका उपयोग मैं सिस्टम फाइल चेकर चलाने के बाद करता हूं, जब यह चलता है तो यह प्रासंगिक एसएफसी जानकारी को मेरे डेस्कटॉप पर पाठ फ़ाइल में आउटपुट करता है। "findstr / c:" [SR] "% windir% \ Logs \ CBS \ CBS.log>% userprofile% \ Desktop \ sfcdetails.tx"
Moab

@Tetsujin धन्यवाद, अगर वहाँ अन्य लॉग के लिए अन्य खोज आदेश थे सोच रहा था, लेकिन गूगल कुछ भी नहीं मिला।
मोआब

2
@Tetsujin का अनुमान है, कृपया ध्यान दें कि लॉग स्तर केवल जानकारी है , डीबग नहीं , जो वर्बोसिटी बढ़ाएगा। टेक्नेट लेख देखें वर्बोज़ सीबीएस लॉगिंग को कैसे सक्षम करें , नोव 2010, जोस्कॉन द्वारा यह पता लगाने के लिए कि आप लॉगिंग को और भी अधिक वर्बोज़ बना सकते हैं। जोस्कॉन ने एक टिप्पणी में कहा कि »... जिस तरह से डिफ़ॉल्ट रूप से इसका सेट कम से कम विस्तृत है लॉग हो जाता है।« यह अस्वीकार्य है। यह उस तरह की चीज है जो अनावश्यक रूप से आपके सिस्टम को धीमा कर देती है। उपयोगकर्ताओं को क्या नहीं चाहिए। शायद एक बाइनरी एडिट करेगा।
लुमी

Windows Server 2008 पर यह अंततः TrustedInstaller.exe को हर 15 मिनट में क्रैश करना शुरू कर देगा। या कम से कम, मेरा मानना ​​है कि यही कारण है; मैं पिछले कुछ समय से इस पर नज़र रख रहा हूं। वर्कअराउंड में मेरा वर्तमान प्रयास एक खाली सीबीएस.लॉग बनाना और एक्सेस से इनकार करते हुए सभी अनुमतियों को हटाना है। अगर यह काम करता है, तो अभी तक इसकी पुष्टि नहीं की गई है क्योंकि यह होने से पहले कुछ समय लेता है।
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 ही इसे और इसके रेखांकितों को लिख सकता है। मेरे प्रश्न से जुड़ा स्क्रीनशॉट देखें।
ल्युमी

TrustedInstaller को कंट्रोल पैनल> एडमिनिस्ट्रेटिव टूल्स> सर्विसेज में विंडोज मॉड्यूल इंस्टॉलर नाम (win7) के तहत पाया जा सकता है ।
ओग्मियोस

2

सीबीएस लॉग भी लगभग 'कुछ नहीं ’की सफाई करते हुए लगभग 150-200Mb डेटा के साथ cleanmgr द्वारा भरा जाता है, इस प्रकार सफाई के बजाय आपकी डिस्क को भरता है।

मैंने पाया कि सीबीएस लॉग को ट्रस्ट किए गए इंस्टॉलर सेवा को रोकने के बाद साफ किया जा सकता है, विंडोज मॉड्यूल इंस्टॉलर को फिर से शुरू करने के बाद सेवा फिर से शुरू हो जाएगी। कुछ डिबगिंग प्रोग्राम्स में Microsoft द्वारा लॉग का उपयोग किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.