Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Google Apps

เข้าใจและแก้ไขปัญหา Memory Usage & Memory Leak ของ Google Chrome

ผมชอบใช้ Google Chrome บราว์ซิ่งเน็ต เหตุผลหลัก: super fast! ไม่ชอบ bloat ของ Firefox กับ add-ons เยอะ และ Internet Explorer ช้าตรงๆ

Microsoft Edge เร็วกว่า IE แต่ผมใช้ Google services เยอะ ทำให้กลับมา Chrome Firefox Quantum ใหม่ เร็วกว่า Chrome กำลังคิดจะสลับ

ตอนเริ่มใช้ Chrome ดีใจกับ interface สะอาด และความเร็วอัศจรรย์ แต่หลังใช้หนักบน PC มืออาชีพหลายเดือน สังเกต: tabs ว่างๆ สักพักก่อนโหลดเว็บ และ general slowness

Chrome Task Manager

พยายามหาสาเหตุ ดู Task Manager ดู processes Chrome รันนี้:

Holy cow! 35 Google Chrome processes! มากมาย processes บวก memory 5 GB+ ทำไมถึง 35 processes? ถือว่าเปิด 16 tabs แต่ webpages ทุกตัว static ไม่มีวิดีโอ/animation ทำไมถึง 35 processes และ GBs ของ memory?

ดูรายละเอียดแต่ละ process ใน Chrome: คลิกขวา title bar (ไม่ใช่บน tab) เลือก Task manager

เข้าใจและแก้ไขปัญหา Memory Usage & Memory Leak ของ Google Chrome

จะเห็นแต่ละ process (เรียกว่า Task) ที่รันใน Chrome ผมน่าประหลาดมาก

เข้าใจและแก้ไขปัญหา Memory Usage & Memory Leak ของ Google Chrome

Browser = 1 process, แต่ละ tab = process ของตัวเอง และมี processes: web apps, GPU, แต่ละ extension และ plug-in ที่ enabled! จากอ่านออนไลน์จาก Google พวกเขาแยกทุกอย่าง process ต่างกัน เพราะทำให้ browser stable มากกว่า เช่น Flash plugin crash จะไม่พา tabs ทั้งหมดหรือ browser ทั้งตัวตาย

ใช้ Chrome นาน ผม realize นี้จริง หลายครั้ง tab หนึ่งตาย ปิด tab นั้น ทำ tabs อื่นต่อได้ปกติ หรือ Shockwave ค้าง kill tab นั้น ทุกอย่างอื่นทำงานดี

คิดต่อ: process แยกกัน ใช้ memory เพิ่มมากกว่าเดิมไหม? จากอ่านออนไลน์ แม้ process น้อยกว่า plugins/extensions ยังใช้ memory เหมือนเดิม แค่น้อยกว่าเล็กน้อย มี overhead สร้าง process ใหม่ แต่น้อยมาก

อาจสังเกต items subframe: https://accounts.google.com หลายรายการ ตอนแรกคิดว่าเกี่ยวกับ tab Gmail แต่เรียนรู้มันอย่างอื่น Google ใส่ processes บางอย่างใน process ของตัวเองเพื่อ isolate ให้เหมาะสม เว็บหลายเว็บอยู่ใน subframes แทนที่จะมี tab process แยก

มีวิธีลด memory Chrome ใช้ไหม? ผมสังเกตต่างมากตอน disable flash ทุกไซต์ แทนที่จะ छोड़ Ask me first ไป Settings > Advanced (ล่าง) > Content Settings ใต้ Privacy and Security > Flash > ตั้ง Block sites from running Flash

เข้าใจและแก้ไขปัญหา Memory Usage & Memory Leak ของ Google Chrome

ประหยัด memory ได้ 1 GB+ ไม่รู้ แต่วェ็บหลายเว็บใช้ Flash แม้ Flash disabled เว็บทำงานดี คง disabled Flash ไว้ ทางลด memory อีก: ลบ extensions บ้าง โดยเฉพาะถ้าไม่ใช้ หรือ disable extension ถ้าต้องการบ้างแต่ไม่อยากลบ

เข้าใจและแก้ไขปัญหา Memory Usage & Memory Leak ของ Google Chrome

Disable extension = หยุดใช้ memory ตัวสุดท้าย: อาจเห็น GPU process ใน Chrome enabled by default ถ้า hardware รองรับ Chrome offload tasks ไป GPU เร็วและมีประสิทธิภาพกว่า CPU เรียกว่า Hardware Acceleration ปิดได้: Settings > ล่างสุด System

ปิด hardware acceleration = Chrome ช้าลง จดจำไว้

รวม: ถ้ารู้สึก Chrome กิน RAM มาก เปิด Task Manager ลอง disable extension ที่กิน memory มาก ผมเคยมี extension ชอบ แต่อัปเดตครั้งสุดท้าย 2013 อาจเป็นสาเหตุกิน memory ถ้าไม่ต้องการ extension กินทรัพยากร disable ไป เบราว์ซิ่งดีขึ้น ปิด Flash ด้วย ถ้าไม่จำเป็น Enjoy!