फ़ायरफ़ॉक्स हर कुछ सेकंड में उच्च-सीपीयू-उपयोग "स्पाइक्स" का कारण क्यों बनता है?


9

जब मैं फ़ायरफ़ॉक्स शुरू करता हूं, मुझे थोड़ी देर के लिए कोई समस्या नहीं होती है, लेकिन कुछ दिनों के बाद, सीपीयू स्पाइक्स होने लगते हैं। स्पाइक के दौरान, फ़ायरफ़ॉक्स जम जाता है और फिर रुक जाता है। स्पाइक्स हर सात से दस सेकंड में होता है, और प्रत्येक स्पाइक दो से तीन सेकंड तक रहता है । यदि मैं टाइपिंग कर रहा हूं, जब स्पाइक होता है, स्पाइक के बाद ही वर्ण आउटपुट होते हैं। मैंने शुरू में सोचा था कि यह समस्या फ्लैश की वजह से थी, इसलिए मैंने इसे अक्षम कर दिया, लेकिन समस्या अभी भी है।

साथ ही, फ़ायरफ़ॉक्स की मेमोरी का उपयोग कई दिनों के बाद 600 एमबी से अधिक हो जाता है।

फ़ायरफ़ॉक्स प्लगइन्स और मेरे द्वारा उपयोग किए जाने वाले एक्सटेंशन की सूची यहां उपलब्ध है


6
फ़ायरफ़ॉक्स में हमेशा मेमोरी लीक होती है, यह हिस्सा सामान्य है।
जॉन टी

लक्षण बग 490122 में ट्रैक किया जाता है । मैं फ़ायरफ़ॉक्स 4+ में अब इनका अनुभव नहीं करता हूँ - शुक्र है।
रोमनस्ट

1
और हर नए संस्करण में वे वादा करते हैं कि उन्होंने इसे ठीक कर लिया है! google.com.au/…
मैथ्यू लॉक

1
@MatthewLock इस बारे में क्या ? यह रेडिट महसूस पर केवल उन यह हो जाता है की तरह हर संस्करण को संबोधित किया ... लगता है
डैनियल बेक

जवाबों:


8

मुझे संदेह है कि यह या तो कचरा कलेक्टर या साइकिल कलेक्टर है।

को about:configबदलने के javascript.options.mem.logलिए true। अब त्रुटि कंसोल ( Crtl+ Shift+ J) में जीसी और सीसी के बारे में नोटिस उपलब्ध होना चाहिए । यदि उनकी समयावधि और अवधि ठंड से मेल खाती है, तो यह आपकी समस्या है।

जब मुझे यह समस्या थी तो मैंने अपने फ़ायरफ़ॉक्स प्रोफ़ाइल को उड़ाकर और खरोंच से एक नया निर्माण करके इसे ठीक किया। फ़ायरफ़ॉक्स प्रोफाइल में समय के साथ बहुत अधिक क्रूड इकट्ठा करने की प्रवृत्ति होती है।

यहां तक ​​कि यह एक प्रीफेक्ट समाधान नहीं है। यदि आप फ़ायरफ़ॉक्स (100+) या बहुत सारे एक्सटेंशन में बहुत सारे टैब खोलते हैं और फ़ायरफ़ॉक्स को दिनों के लिए चालू रखते हैं तो यह अनिवार्य रूप से धीमा हो जाएगा। आपको हर एक समय में फ़ायरफ़ॉक्स को पुनः आरंभ करने की आवश्यकता होगी।

यदि आप मेरे जैसे हैं और आपके पास टैब का एक बड़ा संग्रह इकट्ठा करने की आवश्यकता है, तो आपको कुछ बिंदुओं से निपटने के लिए एक और चाल की आवश्यकता होगी जिसका उपयोग मैं browser.sessionstore.max_concurrent_tabs0. सेट करने के लिए कर रहा हूं । यह फ़ायरफ़ॉक्स को आपके सत्र के सभी टैब लोड करने से शुरू होने पर रोक देगा। जब आप उन्हें स्विच करते हैं, तो यह उन्हें लोड करेगा। मुझे यह लगता है, साथ ही फ़ायरफ़ॉक्स की सामयिक शुरुआत, बहुत सारे टैब होने का भार बहुत कम कर देता है।


2
फायरफॉक्स प्लगइन है जिसे बारटैब कहा जाता है। मुझे लगता है कि इसके बारे में एक ही बात करता है browser.sessionstore.max_concurrent_tabs
Boris_yo

1
हां, हालांकि मेरा मानना ​​है कि यह फ़ायरफ़ॉक्स 4 के लिए अपडेट नहीं किया गया है
श्री अल्फा


1
फ़ायरफ़ॉक्स 40 (2015-08) में "max_concurrent_tabs" दिखाई नहीं देता है।
पीटर मोर्टेंसन

मुझे लगता है कि max_concurrent_tabs के वर्तमान समकक्ष "सामान्य" के तहत वरीयताओं में सेटिंग है जिसे "चयनित टैब को लोड न करें" कहा जाता है।
miyalys

9

में about:config, सेट browser.sessionstore.intervalएक बड़ी संख्या में (यह होना चाहिए 10,000या 15,000; के बारे में के लिए सेट 600,000)।

मूल रूप से, यह कई बार के बीच मिलीसेकंड की संख्या है जो फ़ायरफ़ॉक्स आपके "सहेजे गए सत्र" को अपडेट करता है। यदि आपके पास कई टैब खुले हैं, या एक लंबा ब्राउज़िंग इतिहास (या, जैसा कि अक्सर मेरे साथ है, दोनों), तो यह sessionstore.jsहर 10 या 15 सेकंड में फ़ाइल में डेटा की एक हास्यास्पद मात्रा लिख ​​सकता है , जो फ्लैश वीडियो का कारण बन सकता है थोड़ी देर के लिए फ्रीज करें या यहां तक ​​कि अपने पूरे कंप्यूटर को हर कुछ मिनट में जमा दें।

इस मान को बड़ी संख्या में सेट करने का नुकसान यह है कि अगर फ़ायरफ़ॉक्स दुर्घटनाग्रस्त हो जाता है, तो जब आप पुनर्स्थापित करने का प्रयास करते हैं तो आप अपने अंतिम कुछ मिनटों के इतिहास को खो देते हैं। मेरी राय में भुगतान करने के लिए यह एक छोटी सी कीमत है।

आपका CPU स्पाइक्स बहुत कम बार होना चाहिए ।


2
मेरे पास सत्र प्रबंधक प्लगइन स्थापित है। यह बेहतर प्रबंधन और अनुकूलन की अनुमति देने वाले सत्रों को भी बचाता है। क्या होगा अगर फ़ायरफ़ॉक्स और यह प्लगइन दोनों अद्यतन सत्र उच्च CPU उपयोग और क्रैश का कारण बनते हैं? क्या फ़ायरफ़ॉक्स के सत्र अपडेट फ़ंक्शन को अक्षम करने और सत्र प्रबंधक रखने का कोई तरीका है?
बोरिस_यो

1
फ़ायरफ़ॉक्स 40 में, यह फ़ाइल को "सेशनस्टोर-बैकअप \ रिकवरी। जेएस" (नोट: उप फ़ोल्डर में "सेशनस्टोर-बैकअप") के बजाय "सेशनस्टोर.जेएस" (और पिछले संस्करण "" सेशनस्टोर में सहेजना प्रतीत होता है) बैकअप \ recovery.js ")।
पीटर मोर्टेंसन

1
ठीक है, यह फ़ायरफ़ॉक्स 33 (2014-06) के साथ बदला हुआ है , फ़ायरफ़ॉक्स 40 के साथ नहीं।
पीटर मोर्टेंसन

4

यह प्रति सेकंड मेमोरी लीक को ठीक नहीं करेगा। लेकिन "तब तक टैब को लोड न करें जब तक चयनित न हो जाए" को सक्षम करना कम से कम टैब को तब तक लोड न करें जब तक कि आप रीस्टार्ट होने के बाद उन पर क्लिक न कर दें, जिससे मेमोरी का रास्ता बंद हो जाता है।

मुझे फ़ायरफ़ॉक्स "सत्र" को साफ करने के लिए CCleaner का उपयोग करने में भी थोड़ी मदद मिली। सत्र पुनर्प्राप्ति जानकारी को हटाते ही सबसे पहले अपने सभी खुले टैब का बैकअप लें। CCleaner चलाने से पहले मेरी sessionstore.js फ़ाइल लगभग 800 KB थी, लेकिन बाद में यह लगभग 6 KB हो गई।

सत्रस्टोर के बारे में अधिक जानकारी सॉल्वड में देखी जा सकती है : फ़ायरफ़ॉक्स फ्रीज़ हर 10 सेकंड, स्क्रॉलिंग जम्पी है

फ्लैशब्लॉक को अनइंस्टॉल करने से फ़ायरफ़ॉक्स के साथ मेरे उच्च सीपीयू मुद्दे तय हो गए। शायद फ़्लैशब्लॉक और एडब्लॉक प्लस या कुछ अन्य विस्तार के साथ नहीं मिलता है?

फ़ायरफ़ॉक्स के साथ गड़बड़ करने के लिए जीवन बहुत छोटा है। मैंने अभी-अभी अपने बुकमार्क का निर्यात किया है, और फ़ायरफ़ॉक्स को अनइंस्टॉल किया है, फिर मशीन पर फ़ायरफ़ॉक्स के सभी फ़ोल्डर हटा दिए हैं, और फिर फ़ायरफ़ॉक्स को खरोंच से पुनर्स्थापित किया है, और बुकमार्क को पुनर्स्थापित किया है। अब यह पूरी तरह से नए इंस्टॉलेशन के साथ Google Chrome की तुलना में तेज़ी से चलता है।


2

यह बताना बहुत मुश्किल है। क्या यह केवल सामान्य उपयोग है जो इसका कारण बनता है, या क्या आप किसी विशिष्ट साइट पर पहुंच रहे हैं? (हमें एक समस्या थी जहाँ एक ब्राउज़र ने jQuery में मेमोरी रिसाव के कारण समय के साथ मेमोरी प्राप्त की थी )।

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


jQuery में स्मृति रिसाव हो सकता है? ह्म्म्म्म्म
जेफ़ एफ

1
यह हो सकता है। JQuery बग टिकटों की यह सूची देखें: bugs.jquery.com/search?q=leak&go=&ticket=on । हमें सामना करना पड़ा क्योंकि हम लगातार एक पृष्ठ (एक अंतराल पर एक AJAX अनुरोध के कारण) को हिट कर रहे थे, जो कि काफी हद तक खराब रिसाव का शिकार था।
जेम्स वाइसमैन

1
एक ब्राउज़र समस्या की तरह अधिक लगता है और एक jQuge मुद्दे का कम है जो मैं कह रहा हूं क्योंकि यह नहीं चल सकता है लेकिन एक ब्राउज़र में (वैसे भी ज्यादातर मामलों के लिए) :) (यदि (1 == 1) {} क्रैश ए ब्राउज़र I ब्राउज़र को दोष देता है: पी)
जेफ़ एफ

1
जब आप यह दावा करने में सही होते हैं कि ब्राउज़र गलती पर है (उपरोक्त लिंक पर दिए गए कुछ बग आईई के विफलता से संबंधित परिपत्र संदर्भों को ठीक से करने के लिए संबंधित थे), ऐसे चरण हैं जो एक डेवलपर इन मुद्दों को संशोधित करने के लिए अपने जेएस कोड में ले सकता है। C / C ++ में आपको मेमोरी को साफ करना होगा जिसे आपने मैन्युअल रूप से आवंटित किया है क्योंकि ऐसा करने के लिए आपके लिए कोई GC नहीं है। यदि आपके पास यह आपके कोड या रनटाइम में कोई दोष नहीं है? मेरा तर्क है कि आपके पर्यावरण की सीमाओं के लिए लेखांकन नहीं करना आपकी ओर से एक बग माना जा सकता है, और ऐसा लगता है कि ठीक इसी तरह से jQuery टीम भी इसे देखती है।
जेम्स वाइसमैन

1
खैर यह एक मूर्खतापूर्ण तर्क में समाप्त हो गया: पी। जावास्क्रिप्ट कोड नहीं है, यह स्क्रिप्ट है; स्क्रिप्ट दूसरे प्रोग्राम के भीतर चलती है। एक खराब लिखित कार्यक्रम इस पर चलता है क्योंकि इसके लिए उचित लेखन की आवश्यकता होती है। एक अच्छा कार्यक्रम जो स्क्रिप्ट को स्वीकार करता है वह इसे स्वयं को तोड़ने से रोकेगा। इसलिए यदि आप बगज़िला की जाँच करते हैं, तो आप देखेंगे कि खराब लिखे गए जावास्क्रिप्ट से संबंधित कीड़े क्या माने जाते हैं जिससे फ़ायरफ़ॉक्स दुर्घटनाग्रस्त हो जाता है। हालांकि इस विषय पर बहुत राय है, तो मैं इसे उस पर छोड़ दूंगा! (पहली टिप्पणी एक मजाक की अधिक थी क्योंकि ब्राउज़र ने jQuery का लीक नहीं किया था)
जेफ एफ

0

यदि आप पहले से ऐसा नहीं कर रहे हैं, तो आप नवीनतम फ़ायरफ़ॉक्स में अपग्रेड करने का प्रयास कर सकते हैं। उन्होंने उन मेमोरी लीक्स को कम करने के लिए कड़ी मेहनत की है।


मैंने हमेशा अपग्रेड किया और समस्या बनी रही। मैं फ़ायरफ़ॉक्स 3.6.17 के साथ रहना पसंद करता हूं
बोरिस_यो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.