استخدام ذاكرة Google Chrome / مشاكل تسرب الذاكرة؟

أحب استخدام Google Chrome لتصفح الإنترنت(Internet) وكان أحد الأسباب الرئيسية دائمًا هو السرعة الفائقة! لم يعجبني مطلقًا سخام Firefox مع جميع الوظائف الإضافية و Internet Explorer بطيء جدًا.

يعد Microsoft Edge(Microsoft Edge) أسرع قليلاً من IE ، لكني أستخدم العديد من خدمات Google الأخرى التي يستمر Chrome في إعادتي إليها. يعد متصفح Quantum(Quantum browser) الجديد من Firefox أسرع من Chrome وقد كنت أفكر حقًا في التبديل.

عندما بدأت استخدام Chrome لأول مرة ، كنت سعيدًا بالواجهة النظيفة البسيطة وسرعة التصفح المذهلة(browsing speed) . ومع ذلك ، بعد بضعة أشهر من استخدام Chrome بكثافة على جهاز كمبيوتر سريع للغاية ، لاحظت أن علامات التبويب ستكون فارغة لبضع ثوانٍ قبل تحميل صفحة ويب وبطء عام آخر.

مدير مهام Chrome

بعد إجراء القليل من البحث ، قررت إلقاء نظرة على مدير المهام(task manager) ومعرفة العمليات التي كانت تعمل في Chrome . هذا ما وجدته:

بقرة مقدسة(Holy cow) ! هذا ضخم 35 عملية جوجل كروم(Google Chrome) ! هذا كثير من العمليات بالإضافة إلى أكثر من 5 غيغابايت في استخدام الذاكرة(memory usage) . ما هي كل عمليات Chrome هذه ؟ منحت ، كان لدي 16 علامة تبويب مفتوحة عندما التقطت لقطة الشاشة أعلاه ، لكن جميع صفحات الويب كانت ثابتة بدون تشغيل مقاطع الفيديو أو الرسوم المتحركة(playing or animations) . فلماذا 35 عملية و جيغابايت(GBs) من الذاكرة؟

يمكنك معرفة ما وراء كل من هذه العمليات في Chrome عن طريق النقر بزر الماوس الأيمن على شريط العنوان(title bar) (وليس على علامة تبويب) واختيار مدير المهام(Task manager) .

صورة

هنا سترى كل عملية (تسمى مهمة) تعمل في Google Chrome . فوجئت بسرعة بما رأيته.

المتصفح عبارة عن عملية واحدة ، كل علامة تبويب هي عملية خاصة بها ، ثم كانت هناك عمليات تطبيقات الويب ووحدة معالجة الرسومات(GPU) ولكل ملحق ومكون إضافي(extension and plug-in) قمت بتمكينه! Eeeks! من خلال ما قرأته عبر الإنترنت من Google ، قاموا بفصل كل شيء إلى عمليات مختلفة لأنه يجعل المتصفح أكثر استقرارًا. على سبيل المثال ، إذا تعطل المكوِّن الإضافي Flash(Flash plugin) ، فلن يؤدي إلى إزالة جميع علامات التبويب أو المتصفح بأكمله.

باستخدام Google Chrome لفترة طويلة ، أدركت أن هذا صحيح جدًا. كانت هناك عدة مرات عندما تموت علامة تبويب واحدة ويمكنني فقط إغلاق علامة التبويب والاستمرار في استخدام علامات التبويب الأخرى بشكل طبيعي أو تعليق Shockwave وقتل علامة التبويب هذه وكان كل شيء(tab and everything) آخر يعمل بشكل جيد.

لذا كان فكرتي التالية هي ما إذا كانت جميع العمليات المنفصلة تستخدم ذاكرة إضافية بدلاً من ما كانت عليه سابقًا. مما جمعته عبر الإنترنت ، يبدو أنه حتى لو كان هناك عدد أقل من العمليات ، فإن المكونات الإضافية والإضافات ستظل تستخدم الذاكرة ، وربما أقل قليلاً. هناك عبء طفيف لإنشاء عملية جديدة ، لكنها ثانوية.

ربما لاحظت أيضًا عدة عناصر مدرجة كإطار فرعي: (subframe:) https://accounts.google.com . في البداية ، اعتقدت أن هذا يتعلق بفتح علامة تبويب على Gmail ، لكنني علمت أنها شيء آخر تمامًا. في الأساس(Basically) ، تضع Google بعض العمليات في عمليتها الخاصة من أجل عزلها بشكل صحيح. لذلك كان هناك العديد من مواقع الويب التي كانت داخل هذه الإطارات الفرعية بدلاً من إدراج عملية علامة التبويب المنفصلة الخاصة بها.(tab process)

إذن ، هل هناك أي شيء يمكنك القيام به لتقليل مقدار الذاكرة التي يستخدمها Chrome ؟ بالنسبة لي ، لاحظت فرقًا كبيرًا عندما عطلت الفلاش لجميع المواقع بدلاً من تركه في إعداد اسألني أولاً(Ask me first) . لتعطيل الفلاش تمامًا ، انتقل إلى الإعدادات(Settings) ، ثم انقر فوق خيارات متقدمة(Advanced) في الجزء السفلي ، ثم انقر فوق إعدادات المحتوى( Content Settings) ضمن الخصوصية والأمان( Privacy and Security) . انقر فوق Flash ثم تأكد من أنه يشير إلى حظر المواقع من تشغيل Flash( Block sites from running Flash) .

أنقذني ذلك أكثر من 1 غيغابايت في استخدام الذاكرة(memory usage) . لم أكن أعلم ، لكن العديد من المواقع كانت تستخدم الفلاش(Flash) . حتى مع تعطيل Flash ، تعمل مواقع الويب بشكل جيد ، لذلك أبقيت Flash معطلاً. الطريقة الأخرى لتقليل الذاكرة هي إزالة بعض الامتدادات ، خاصةً إذا كنت لا تستخدمها. أيضًا ، يمكنك ببساطة تعطيل أحد الإضافات إذا كنت بحاجة إليه من حين لآخر ولا تريد إزالته تمامًا.

سيؤدي تعطيل الامتداد إلى منعه من استخدام الذاكرة. أخيرًا ، ربما لاحظت وجود عملية GPU(GPU process) في Chrome ، والتي يجب تمكينها افتراضيًا. إذا كانت أجهزتك تدعمها ، فسيقوم Chrome بإلغاء تحميل بعض المهام إلى وحدة معالجة الرسومات(GPU) الخاصة بك ، وهي أسرع وأكثر كفاءة من وحدة المعالجة المركزية(CPU) لديك . وهذا ما يسمى تسريع الأجهزة(Hardware Acceleration) . إذا كنت ترغب في ذلك ، يمكنك تعطيله من خلال الانتقال إلى " الإعدادات(Settings) " ثم التمرير إلى أسفل للوصول إلى "النظام"(System) .

إذا قمت بتعطيل تسريع الأجهزة(hardware acceleration) ، فستكون تجربتك في Chrome أبطأ قليلاً ، لذا ضع ذلك في الاعتبار.

لذلك إذا كنت تشعر أن Chrome يستهلك الكثير من ذاكرة الوصول العشوائي(RAM) ، فتحقق من إدارة المهام(Task Manager) وحاول تعطيل الامتداد الذي يستخدم قدرًا كبيرًا من الذاكرة. بالنسبة لي ، كان لدي امتداد أعجبني ، لكن لم يتم تحديثه منذ عام 2013 ، ولهذا السبب كان من الممكن أن يستخدم الكثير من الذاكرة. إذا لم تكن بحاجة إلى ملحق استغلال الموارد ، فقم بتعطيله وستحصل على تجربة تصفح(browsing experience) أفضل . أيضًا ، قم بتعطيل Flash إلا إذا كنت في حاجة إليه حقًا. استمتع!



About the author

أنا مهندس برمجيات بخبرة تزيد عن 10 سنوات في العمل على أجهزة Apple iOS والأجهزة الطرفية. جعلتني تجربتي في هندسة الأجهزة شغوفًا بالتأكد من أن أجهزة عملائنا موثوقة وسلسة قدر الإمكان. لقد كنت أكتب كودًا خلال السنوات القليلة الماضية وتعلمت استخدام Git و Vim و Node.js.



Related posts