ไม่มีความลับใด ๆ ที่ Firefox สามารถใช้หน่วยความจำระบบได้เล็กน้อยในระหว่างการใช้งานปกติ แม้ว่าจำนวนแท็บที่คุณเปิดและส่วนเสริมที่ติดตั้งมีส่วนช่วยอย่างแน่นอนแม้แต่การติดตั้งนอกกล่องที่ใช้อย่างระมัดระวังก็สามารถรายงานการใช้หน่วยความจำได้ไม่น้อย
สิ่งนี้ทำให้ส่วนเสริม Firefox บางตัวปรากฏขึ้นซึ่งอ้างว่าเพิ่มหน่วยความจำที่เบราว์เซอร์ไม่ต้องการอีกต่อไป แต่มันใช้งานได้จริงหรือไม่?
ภาพรวมสองนาทีเกี่ยวกับวิธีที่ Windows จัดการกับหน่วยความจำ
ก่อนที่เราจะดำดิ่งลงไปในการตรวจสอบตัวล้างหน่วยความจำสิ่งสำคัญคือต้องทำความเข้าใจเล็กน้อยเกี่ยวกับวิธีที่ Windows จัดการกับหน่วยความจำ สิ่งนี้จะมีความสำคัญเพื่อให้เราสามารถตีความผลลัพธ์ของการทดลองของเราได้
ไม่ต้องกังวลเราจะพูดถึงเรื่องนี้ในระดับที่สูงมากดังนั้นคุณจึงไม่จำเป็นต้องเป็นคนที่เก่งกาจในการติดตาม
ในฐานะที่เป็นข้อจำกัดความรับผิดชอบอย่างรวดเร็วนี่คือบทสรุปสั้น ๆ เกี่ยวกับพื้นฐานของการจัดการหน่วยความจำของ Windows โดยวิธีนี้ไม่ควรถือว่าเชื่อถือได้หรือเป็นข้อยุติเนื่องจากอธิบายเฉพาะในระดับที่ใช้ได้กับเนื้อหาของบทความนี้
Windows ฉลาดพอที่จะรู้ว่าหน่วยความจำกายภาพที่ไม่ได้ใช้งานนั้นสิ้นเปลืองหน่วยความจำดังนั้นจึงโหลดทุกสิ่งที่ต้องการและคิดว่าจำเป็นต้องใช้ในหน่วยความจำ อย่างไรก็ตามเฉพาะสิ่งที่ระบบของคุณต้องการ (ทั้ง Windows และแอปพลิเคชัน) และกำลังใช้งานอยู่ในเวลาปัจจุบันเท่านั้นที่จะถูกรายงานว่าใช้หน่วยความจำกายภาพ ส่วนที่เหลือ (สิ่งที่ Windows คิดว่าต้องการ) อยู่ในสิ่งที่เรียกว่าหน่วยความจำเสมือน
โดยพื้นฐานแล้วหน่วยความจำเสมือนเป็นข้อมูลที่ระบบปฏิบัติการไม่ต้องการใช้งาน แต่พร้อมที่จะโหลดลงในหน่วยความจำที่ใช้งานได้ตลอดเวลา คุณสามารถคำนวณจำนวนหน่วยความจำเสมือนที่ระบบของคุณมีอย่างคร่าวๆได้ตลอดเวลาโดยใช้สูตรนี้:
หน่วยความจำเสมือน = (หน่วยความจำกายภาพทั้งหมด - ใช้ / หน่วยความจำกายภาพที่ใช้งานอยู่) + ขนาดไฟล์เพจสูงสุดของระบบ
สมมติว่าคุณมีระบบที่มีหน่วยความจำฟิสิคัล 4 GB และไฟล์เพจสูงสุด 6 GB จากนั้นคุณบูต Windows และเปิดแอปพลิเคชั่นบางตัว (Outlook, Firefox ฯลฯ ) และ Windows รายงานว่ามีการใช้หน่วยความจำกายภาพ 2.5 GB ซึ่งหมายความว่าคุณมีหน่วยความจำฟิสิคัลที่“ ไม่ได้ใช้” 1.5 GB และไฟล์เพจ 6 GB สำหรับหน่วยความจำเสมือนที่มีทั้งหมด 7.5 GB
โปรดจำไว้ว่าระบบปฏิบัติการนั้นฉลาดพอที่จะรู้ว่าหน่วยความจำกายภาพที่ไม่ได้ใช้งานนั้นสูญเปล่าหน่วยความจำดังนั้นมันจะเติมหน่วยความจำกายภาพที่เหลือ 1.5 หน่วยด้วยสิ่งที่คุณคาดว่าจะต้องการเพื่อให้สามารถเข้าถึงได้ตามต้องการเกือบจะในทันที ซึ่งอาจเป็นอะไรก็ได้ตั้งแต่การย่อข้อมูลโปรแกรมพื้นหลังไปจนถึงฟังก์ชัน OS ทั่วไป
จะเกิดอะไรขึ้นเมื่อ Windows ไม่มีหน่วยความจำกายภาพที่จะใช้เป็นหน่วยความจำเสมือน เขียนข้อมูลนี้ไปยังไฟล์เพจระบบซึ่งเป็นไฟล์ขนาดใหญ่ (ในกรณีของเราคือ 6 GB) ในฮาร์ดไดรฟ์ของคุณ แม้ว่าสิ่งนี้จะช่วยให้ระบบปฏิบัติการสามารถจัดเก็บข้อมูลใด ๆ ที่จำเป็นต้องเก็บไว้ในหน่วยความจำการเขียนและการดึงข้อมูล (หรือที่เรียกว่าความผิดพลาดของเพจ) ข้อมูลนี้ไปยัง / จากฮาร์ดไดรฟ์เป็นคำสั่งของขนาดที่ช้ากว่าการเข้าถึงจากหน่วยความจำทางกายภาพ ด้วยเหตุนี้ยิ่งคุณมีหน่วยความจำกายภาพมากเท่าไหร่ระบบของคุณก็จะทำงานได้เร็วขึ้นเท่านั้น ยิ่งระบบของคุณใช้ไฟล์เพจน้อยเท่าไหร่ระบบก็จะทำงานได้เร็วขึ้นเท่านั้น
การตรวจสอบการใช้หน่วยความจำของ Firefox
สำหรับการตรวจสอบของเราเราจะใช้ Windows Task Manager เราจะติดตามคอลัมน์ต่อไปนี้ ( คำอธิบายถูกกำหนดไว้ในหน้าของ Microsoft ):
- Working Set = จำนวนหน่วยความจำในชุดการทำงานส่วนตัวบวกจำนวนหน่วยความจำที่กระบวนการใช้ซึ่งสามารถแบ่งใช้โดยกระบวนการอื่น
- Peak Working Set = จำนวนหน่วยความจำชุดการทำงานสูงสุดที่ใช้โดยกระบวนการ
- Memory (Private Working Set) = ชุดย่อยของชุดการทำงานที่อธิบายเฉพาะจำนวนหน่วยความจำที่กระบวนการใช้ซึ่งไม่สามารถแบ่งใช้โดยกระบวนการอื่นได้
- Commit Size = จำนวนหน่วยความจำเสมือนที่สงวนไว้สำหรับใช้โดยกระบวนการ
เราจะใช้การติดตั้ง Firefox 4.0.1 แบบสำเร็จรูปโดยโหลดเฉพาะส่วนเสริม Memory Fox เท่านั้น ใน Firefox เราจะเปิดแท็บต่อไปนี้และจะไม่ทำอย่างอื่นนอกจากเลื่อนหน้าโหลดขึ้นและลง
หลังจากรอสักครู่เพื่อให้ทุกอย่างโหลดเสร็จ Windows Task Manager จะรายงานสิ่งต่อไปนี้สำหรับ Firefox
ตอนนี้เมื่อเราเริ่มโปรแกรมเสริม Memory Fox ให้ดูที่ปริมาณการใช้หน่วยความจำที่รายงานลดลงอย่างมาก
นอกจากนี้โปรดทราบว่ากระบวนการใหม่เริ่มต้นโดยส่วนเสริมนี้ซึ่งเป็นสิ่งที่จัดการกับฟังก์ชันหน่วยความจำ
ปล่อยให้ Firefox ไม่ได้ใช้งานและดูค่าชุดการทำงานและหน่วยความจำคุณจะเห็นว่ามีการต่อสู้อย่างต่อเนื่องระหว่าง Firefox ที่ต้องการหน่วยความจำกายภาพที่ใช้งานอยู่และโปรแกรมเสริมตัวล้างหน่วยความจำที่เรียกคืนหน่วยความจำนี้
นี่คือรายงานการใช้หน่วยความจำที่เกิดขึ้นทุกๆสองสามวินาทีในขณะที่ Firefox ไม่ได้ใช้งาน
สังเกตการลดลงของค่า Working Set และ Memory นี่คือตัวล้างหน่วยความจำที่เรียกคืนหน่วยความจำระบบ
หลังจากขึ้นไปเล็กน้อยคุณสามารถเห็นหยดอื่น
ฟอง. ล้าง. ทำซ้ำ
นอกจากนี้หากคุณไม่ทำอะไรเลยนอกจากสลับแท็บและเลื่อนขึ้นและลงของหน้าที่โหลดคุณจะเห็นว่าตัวเลขมีความผันผวนอย่างมากซึ่งจะอธิบายไว้ด้านล่าง
การตีความผลลัพธ์
เมื่อคุณดูครั้งแรกคุณจะคิดว่านี่ใช้งานได้ดีมาก แต่ดูที่คอลัมน์ Commit Size แล้วคุณจะเห็นว่าค่านี้ไม่เคยเปลี่ยนแปลงจริงๆ ในความเป็นจริงจะเพิ่มขึ้นเมื่อคุณเริ่มโปรแกรมเสริมการทำความสะอาดหน่วยความจำ
โปรดจำไว้ว่าคอลัมน์ Commit Size จะรายงานจำนวนหน่วยความจำจริง (ทางกายภาพ + เสมือน) Windows จำเป็นต้องเรียกใช้แอปพลิเคชันที่เกี่ยวข้อง ดังนั้นในตัวอย่างของเรา ~ 120 MB ถูกสงวนไว้และใช้งานบนระบบโดยเฉพาะสำหรับ Firefox และอยู่ในหน่วยความจำกายภาพที่ไม่ได้ใช้งานและ / หรือไฟล์เพจระบบ นอกจากนี้โปรดจำไว้ว่าหากจำเป็นต้องใช้ไฟล์เพจจะมีผลกระทบด้านประสิทธิภาพอย่างเห็นได้ชัดเนื่องจากหน่วยความจำเสมือนจะต้องถูกเขียนและอ่านจากฮาร์ดดิสก์ซึ่งช้ากว่าหน่วยความจำกายภาพอย่างมาก
โดยพื้นฐานแล้วตัวล้างหน่วยความจำกำลังย้ายหน่วยความจำกายภาพที่ใช้งานไปยังหน่วยความจำเสมือน (เนื่องจากหน่วยความจำจะถูกเรียกคืนต้องไปที่ไหนสักแห่ง) เมื่อสิ่งนี้เกิดขึ้น Firefox จะไม่มีหน่วยความจำที่จำเป็นในการทำงานพร้อมใช้งานอีกต่อไปดังนั้นจึงต้องขอให้ Windows ย้ายข้อมูลตามลำดับที่ต้องการจากหน่วยความจำเสมือนกลับไปยังหน่วยความจำกายภาพ และรอบ ๆ เราไป ...
อย่างดีที่สุดกระบวนการนี้ไม่มีประโยชน์เลยและที่แย่ที่สุดคือทำให้เกิดข้อผิดพลาดจำนวนมากที่ไม่จำเป็นเนื่องจากหาก Windows ต้องนำไฟล์เพจมาเล่นก็จะมีประสิทธิภาพที่เห็นได้ชัดเจน โดยเฉพาะอย่างยิ่งอาจเป็นกรณีนี้ในระบบที่ไม่มีหน่วยความจำกายภาพมากนัก (ซึ่งหน่วยความจำเสมือนทั้งหมดจะถูกเก็บไว้ในไฟล์เพจ) ซึ่งเป็นเรื่องน่าขันเนื่องจากระบบเหล่านี้เป็นระบบที่ตัวล้างหน่วยความจำ "ออกแบบ" มาเพื่อ
คุณธรรมของเรื่องราวทั้งหมดนี้ค่อนข้างเรียบง่ายผู้ทำความสะอาดหน่วยความจำไม่ได้ทำอะไรเลยนอกจากเปลี่ยนตัวเลข ระบบปฏิบัติการใด ๆ จะรู้วิธีจัดการกับหน่วยความจำอย่างเหมาะสมดังนั้นเพียงแค่ปล่อยให้พวกเขาทำสิ่งต่างๆ
การจัดการการใช้หน่วยความจำของ Firefox
เนื่องจากเราได้แสดงให้เห็นว่าโปรแกรมเสริมการล้างหน่วยความจำไม่ได้ทำประโยชน์อะไรเลยจริงๆคุณจะทำอะไรได้บ้างเกี่ยวกับหน่วยความจำจำนวนมากที่ Firefox ใช้? คำแนะนำบางประการมีดังนี้
- ลบส่วนเสริมที่คุณไม่ต้องการ (โดยเฉพาะอย่างยิ่งโปรแกรมทำความสะอาดหน่วยความจำ)
- รักษาจำนวนแท็บที่คุณเปิดไว้ให้น้อยที่สุด
- ปิด Firefox เป็นระยะและเปิดใหม่
- เพิ่มหน่วยความจำให้กับระบบของคุณ
- ไม่ต้องกังวลไป