Chrome में RAM का उपयोग सीमित है?


22

Google Chrome में कई टैब को घंटों / दिनों के लिए खुला छोड़ते समय, मैं ध्यान देता हूं कि कुछ पेज भारी मात्रा में RAM का उपयोग करते हुए समाप्त होते हैं, इस बिंदु पर जहां पूरा OS (XP) पेजिंग के कारण अनुत्तरदायी हो जाता है। जब मैं भाग्यशाली हूं, मैं अंत में खुले URL की सूची को बुकमार्क कर सकता हूं, क्रोम को बंद कर सकता हूं और फिर से शुरू कर सकता हूं; जब मैं नहीं हूं, मुझे बस क्रोम को मारना चाहिए और आशा है कि मैं खुले URL की सूची को पुनर्प्राप्त कर सकता हूं।

  • ऐसा क्यों है? प्लग-इन में मेमोरी लीक?
  • क्या क्रोम को कॉन्फ़िगर करने का एक तरीका है ताकि एक एकल टैब / पृष्ठ एक निर्धारित मात्रा से अधिक रैम का उपयोग न करें?

धन्यवाद।


आपके पास कितना रैम है?
बारन

@OverTheRainbow - पेज स्नूज़ पर विचार क्यों नहीं किया गया - chrome.google.com/webstore/detail/…
मूँगफली के दाने

मेरे पास 4GB है, जो कि तब पर्याप्त है जब कुछ वेब पेज 500MB को हथियाने के लिए पर्याप्त होते हैं। पेज स्नूज़ और सेशन बडी के लिंक के लिए धन्यवाद।
ओवर द रेनबो

जवाबों:


-2

मुझे लगता है कि आपको बस उतनी रैम खरीदने का विकल्प चुनना चाहिए जितना आपका ओएस संभाल सकता है। आपको Chrome के RAM उपयोग को सीमित नहीं करना चाहिए क्योंकि यह वेब पर आपके सर्फिंग के अनुभव को बर्बाद कर देगा। यह मानते हुए कि आप अपने कंप्यूटर का उपयोग अधिकांश समय इंटरनेट पर सर्फिंग के लिए करते हैं, आपको क्रोम को वे सभी संसाधन प्राप्त करने चाहिए, जो उस प्रदर्शन को वितरित करने के लिए आवश्यक हों, जो आप उसी समय उन टैब को चलाने के लिए "आनंद" लेना चाहते हैं।

मुझे नहीं लगता कि हर व्यक्ति के RAM के उपयोग को सीमित करने का एक तरीका है, लेकिन आप Chrome के उपयोग को पूरी तरह से सीमित कर सकते हैं। इधर देखो:

/programming/192876/set-windows-process-or-user-memory-limit

मैं ऐसा नहीं करूँगा, अगर मैं तुम हो, अगर मैं चिकनी वेब सर्फिंग चाहता हूँ।


16
यह वास्तव में एक समाधान नहीं है जब आपके पास आपके द्वारा उपयोग किए जा रहे कंप्यूटर की सामग्री पर नियंत्रण नहीं है (यानी काम कंप्यूटर)
Gnoupi

उस स्थिति में यह अच्छा होगा यदि सीमित रैम के साथ चयनित टैब के लिए (जैसे कि सक्रिय टैब को अधिक मेमोरी मिलती है) 'प्राथमिकताओं' को सेट करने का एक तरीका था और आपके पास एक ऐसा उपयोगकर्ता नहीं है जिसके पास उपयोगकर्ता है को अनुकूलित करना चाहिए (खुले टैब की संख्या को कम करके) जो कि अनुत्पादक है।
विकीविट्ज

4
क्रोम जितना रैम प्राप्त करता है उतना ही खाता है, इसलिए अधिक रैम जोड़ने से आग में अधिक लकड़ी डालने के समान होता है, यह अधिक जलता है।
JDuarteDJ

5
@WikiWitz, आप यह समझ रहे हैं कि RAM Chrome कितना खाता है। मैं 16 जीबी फिजिकल रैम वाला हूं और यह अभी भी पर्याप्त नहीं है।
पचेरियर

2
"यह मानते हुए कि आप अपने कंप्यूटर का उपयोग इंटरनेट पर सबसे अधिक समय तक सर्फिंग के लिए करते हैं" - यह एक प्रमुख गधा-उम-औषधि है। सब कुछ क्रोमबुक नहीं है।
पिस्कवॉर

12
  1. मैंने पायथन 2.5 प्रोग्राम लिखा जो क्रोम के रेंडरर्स को मारता है जब वे एक निर्धारित मात्रा में मेमोरी का उपयोग करते हैं। मैं इस कार्यक्रम को चलाता हूं watch। (ध्यान दें कि यह psutil मॉड्यूल का उपयोग करता है जो पायथन के साथ शामिल नहीं है।)

    import sys, os, psutil
    
    if len(sys.argv) == 2:
        try:
            limit = int(sys.argv[1])
        except:
            limit = 200 # default 200MB
    else:
        limit = 200
    
    uid = os.getuid()
    for p in psutil.get_process_list():
        try:
            if (p.name == 'chrome' and any('type=renderer' in part for part in p.cmdline)
               and p.uid == uid):
                m = p.get_memory_info()
                #print p.pid,m, m.rss / 1024 / 1024, m.vms / 1024 / 1024
                if (m.rss / 1024 / 1024) > limit: # kill if rss is greater than limit
                    print 'Killed', p.pid
                    p.kill()
        except psutil.error.NoSuchProcess:
            pass
        except psutil.error.AccessDenied:
            pass
    
  2. जब क्रोम उन्हें पुनर्स्थापित करने में विफल रहता है तो मैं खुले टैब्स को पुनर्प्राप्त करने के लिए सत्र बडी पर निर्भर करता हूं।


Chrome इसे रेंडर करने वालों को कैसे मारता है? रेंडरर के मारे जाने के बाद टैब किस व्यवहार का प्रदर्शन करता है? ओह, मैंने अभी आपका सत्र बडी टिप्पणी देखी, इसका मतलब है कि क्रोम उन्हें कभी-कभी, ठीक करने में विफल रहता है। क्या अक्सर ऐसा होता है? यह वास्तव में साफ है, धन्यवाद!
मैथ्यू

1
@ हनुमान टैब जो उस रेंडरर प्रक्रिया का उपयोग करता था जिसे मार दिया गया था दुर्घटनाग्रस्त टैब बन गए। लेकिन यद्यपि ऊपर की स्क्रिप्ट क्रोम 12 के साथ बाद के संस्करणों में अच्छी तरह से काम करती है, यह एक्सटेंशन को भी मारता है जो क्रोम 12 के विपरीत विस्तारक की बजाय रेंडरर प्रक्रियाओं में चलते हैं।
दान डी।

यदि आप पुनर्स्थापना पर क्लिक करने में विफल रहते हैं, तो @ अंतिम टैब को खोना संभव है । यदि आपके पास Last Tabsफ़ाइल है, तब भी उस फ़ाइल से टैब को पुनर्स्थापित करना संभव नहीं है। मैंने प्रारूप निर्धारित करने का प्रयास किया और URL को एक बार पहले ही निकाल दिया। यह सफल नहीं था। और मुझे बाइनरी प्रारूप की तुलना में SQLite पर अधिक भरोसा है जो क्रोम वर्तमान सत्र के टैब को स्टोर करने के लिए उपयोग करता है, यही वजह है कि एसबी बेहतर है।
दान डी।

@ डीडी।, क्या यह स्क्रिप्ट सुरक्षित है? क्या यह पूरे क्रोम को क्रैश कर देगा?
पचेरियर

@Pacerier हाँ, सिवाय तब जब क्रोम अभी भी पुनरारंभ होने के बाद अपने विलंबित टैब लोडिंग चरण में है, यह नहीं है।
डैन डी।

4

केवल एक चीज जो मैंने आज तक देखी है वह यह कर सकती है कि एक कंटेनर के अंदर क्रोम चलाएं और कंटेनरों को सीमित करें राम

हालांकि इसके कुछ प्रमुख कारण हैं,

  • डॉकिंग सेटअप और लॉन्च सीक्वेंस से रनिंग क्रोम जटिल है

  • एक के लिए, क्रोम अपने धागे को सैंडबॉक्स करने के लिए पहले से ही कर्नेल कंटेनर का उपयोग करता है; इसलिए आपको कंटेनर को एक प्रकार के रूट विशेषाधिकार के साथ चलाना होगा जो काम करने की अनुमति देता है। इसे दरकिनार किया जा सकता है, और लिंक किए गए कंटेनर मॉडल ऐसा करता है। (यह व्यावहारिक रूप से वह सब कुछ करता है जिसकी उसे आवश्यकता होती है)

  • आप लगभग निश्चित रूप से ढीले gpu त्वरण होगा

  • ऑडियो को काम करना जटिल है, लेकिन लिंक किए गए कंटेनर मॉडल में नियंत्रित किया जाता है।

  • जब आप अपनी वारंटी को शून्य कर देते हैं, तो आप और भी गलत होने की उम्मीद करते हैं, Chrome को हिंसक नापसंद किया जाता है कि उसे अधिक राम का उपयोग न करने के लिए कहा जाए, और उसी के अनुसार कार्य करेगा।

लेकिन यह अंततः काम करता है।

मुझे इन RAM सीमाओं को इलेक्ट्रॉन शेल एप्लिकेशन पर लागू करने में अधिक दिलचस्पी है, जो आपके लिए उन्हें बनाने के लिए पूर्व-निर्मित डॉक चित्र नहीं बनाते हैं।


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


मुझे इस उत्तर को और अपडेट करना चाहिए कि कैसे कंटेनर सिर्फ एक cgroup इंटरफ़ेस है, आप उसी को पूरा करने के लिए cgroups का उपयोग कर सकते हैं
ThorSummoner

1

यह जरूरी नहीं है प्लगइन। ध्यान दें कि वेबपेज स्थिर नहीं हैं। कुछ वेबपेजों में सिर्फ एक गैर-तुच्छ राशि है जो कि async गतिविधि चल रही है। प्लग-इन से गतिविधि पर जोड़ें और आपको कुछ अज्ञात मिला।

सबसे अच्छा उपाय जो मैंने पाया है वह है वेबपेज को मारना और उसे फिर से लोड करना। AFAIK, वेब पेज द्वारा उपयोग की जाने वाली RAM की मात्रा को सीमित करने का कोई तरीका नहीं है।


1

TabsOutliner एक्सटेंशन का उपयोग करें - यह आपको टैब को वास्तव में आपके संदर्भ और वर्तमान सत्र सूची से हटाने के बिना "बंद" करने का आसान तरीका देगा। बहुत उपयोगी।

टैब्स आउटलाइनर एक्सटेंशन


0

स्मृति की बड़ी मात्रा का उपयोग करने वाली टैब प्रक्रिया को मारें (मुझे लगता है कि फ्लैश के साथ कुछ भी 500 एमबी + का उपयोग करने के लिए जाता है)। आप मृत टैब को बाद में पुनः लोड कर सकते हैं जब आप उनमें काम करना फिर से शुरू करना चाहते हैं।


0

TabMemFree स्वचालित रूप से निष्क्रिय टैब को निलंबित कर देगा। आप यह निर्धारित कर सकते हैं कि न्यूनतम 15 मिनट के साथ निष्क्रिय टैब को निलंबित करने से पहले कितनी देर हो सकती है। आप इसे अनदेखा पिन किए गए टैब को भी निर्देश दे सकते हैं।

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

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