Home>>บ่นเรื่อยเปื่อย>>ทำไมเบราวเซอร์ถึงได้กินแรมเยอะจัง (วะ)?
ภาพปกคอมพิวเตอร์ เป็นรูปตัวแพคแมน กำลังกินแรมอยู่ มีข้อความเขียนว่า ทำไมเบราวเซอร์ถึงกินแรมเยอะจัง (วะ)?
บ่นเรื่อยเปื่อยซอฟต์แวร์แบ่งปันความรู้

ทำไมเบราวเซอร์ถึงได้กินแรมเยอะจัง (วะ)?

คุณคิดว่าเดี๋ยวนี้เครื่องคอมพิวเตอร์ควรจะมีแรมซักเท่าไหร่ถึงจะพอ? คอมพิวเตอร์เครื่องแรกที่ผมได้ใช้เป็นของโรงเรียน แรมประมาณ 4KB ครับ ใช่ คุณอ่านไม่ผิด 4 กิโลไบต์ เท่านั้นเอง แต่ถ้าถามผมว่าตอนนี้คอมพิวเตอร์ที่ผมใช้แรมเท่าไหร่ … ก็ 16GB แล้วอะ และผมว่า ถ้าจะใช้ระบบปฏิบัติการ Windows แรมเท่านี้น่าจะเป็นพื้นฐานได้แล้ว (ปัจจุบัน ณ ตอนที่เขียนบล็อกนี้อยู่ คอมพิวเตอร์ส่วนใหญ่ เริ่มต้นกันที่แรม 8GB) … ถ้าถามผมว่า ทำไมต้องเอาแรมเยอะขนาดนั้น? คำตอบของผมก็คือ เพื่อจะได้เปิดเว็บได้เยอะๆ สบายๆ ยังไงล่ะ

โลกเรามันเปลี่ยนไปนะ ผมเคยพร่ำตอบเพื่อนๆ ทุกคนที่มาถามผมว่า “คอมพิวเตอร์จะใส่แรมไปเยอะๆ ทำไม?” ไปว่า ก็เพื่อจะได้เปิดโปรแกรมได้เยอะๆ โดยที่เครื่องไม่รวนไง และถ้าเกิดใครทำงานด้านกราฟิก หรือตัดต่อวิดีโอ การมีแรมเยอะๆ ก็จะช่วยในเรื่องการใช้งานพวกนี้ด้วย

แต่ถ้าตอนนี้ใครมาถามผมด้วยคำถามเดียวกันนี้ ผมคงตอบไปว่า เดี๋ยวนี้คอมพิวเตอร์ต้องแรมเยอะๆ เอาไว้ให้พวกเบราวเซอร์ได้ใช้ตอนเปิดเว็บหลายๆ แท็บพร้อมๆ กัน นั่นแหละ ไม่เชื่อ ถ้าใครใช้ Windows ก็ลองกด Ctrl + Alt + Del แล้วเปิด Task Manager ขึ้นมาสิ

ส่วนหนึ่งของข้อมูลจาก Task Manager ของระบบปฏิบัติการ Windows ซึ่งแสดงจำนวน Process ที่ Google Chrome เปิดขึ้นมา และจำนวนทรัพยากรที่ใช้ไป คือ กินแรมไปประมาณ 2.1 กิกะไบต์

ของผม เปิดไปประมาณสิบกว่าแท็บ มีปิดบ้างเปิดใหม่บ้างสลับกัน มันทำให้ Google เปิด Process แยกย่อยออกมาราวๆ 24 Processes แล้วทั้งหมดนี่กินแรมไปประมาณ 2.1GB เลยทีเดียว!! และก็ไม่ใช่ของ Google เจ้าเดียวที่เป็นหรอกนะ Microsoft Edge เวอร์ชันใหม่ ที่พัฒนามาจาก Chromium ก็กินแรมไม่แพ้กันเลยจ้า

และบอกเลยนะว่าไม่ต้องคิดไปหาเบราวเซอร์อื่นมาใช้หรอกนะครับ เพราะค่ายอื่นๆ ก็กินแรมไม่แพ้กันฮะ เว็บไซต์ PC World เขามีการทดสอบเบราวเซอร์ 4 ค่ายคือ Google Chrome, Opera, Firefox และ Microsoft Edge (Chromium) มีขั้นตอนนึงดูว่าเปิดเว็บ 20 แท็บ เหมือนๆ กันแล้ว ใครกินแรมมากน้อยกว่ากัน ผลออกมาแบบนี้

กราฟแท่งสีเหลือง เทา ส้ม และ น้ำเงิน แสดงปริมาณแรมที่เบราวเซอร์ต่างๆ ต้องใช้ในการเปิดเว็บ 20 แท็บ

Google Chrome 80 ซัดไป 1,317.5MB Opera 67 ซัดไป 1,680MB Firefox 74 ซัดไป 1714MB Microsoft Edge (Chromium) ซัดไป 1,287.8MB สังเกตว่า แต่ละตัว กินแรมประมาณ 1-2GB กันแล้วนะครับพี่น้อง ถ้าคิดจะเปิดเว็บซัก 20 แท็บพร้อมๆ กัน ซึ่งผมว่า ก็เป็นพฤติกรรมมาตรฐานของหลายๆ คน ในปัจจุบันนี้แล้ว

อ้อ! แต่นี่คือการทดสอบของเว็บเดียวนะครับ คนอื่นอาจได้ผลการทดสอบที่แตกต่างกันออกไป ทั้งนี้ขึ้นอยู่กับเว็บไซต์ที่เปิดด้วยนะ เพราะอย่างที่เห็น ผมเปิดประมาณสิบกว่าแท็บ โดนแตกออกมาเป็น 24 Processes ก็โดนกินแรมไป 2.1GB แล้ว

เดี๋ยวนี้คอมพิวเตอร์ต้องแรมเยอะๆ เอาไว้ให้พวกเบราวเซอร์ได้ใช้ตอนเปิดเว็บหลายๆ แท็บพร้อมๆ กัน

นายกาฝาก

คำถามคือ ทำไมมันกินแรมเยอะขนาดนั้นล่ะ?

แต่เขาว่ากันว่า ที่มันต้องกินแรมเยอะขนาดนั้น มันก็มีเหตุผลของมันอยู่ครับ มาลองดูกันว่า เพราะเหตุใด เบราวเซอร์มันถึงกินแรมเยอะขนาดนี้

>> เบราวเซอร์ต้องประมวลผลเยอะ เพื่อให้เข้าถึงเว็บเร็วขึ้น และทำงานอย่างมีเสถียรภาพมากขึ้น ส่วนนึงเป็นผลมาจากการที่คนเราชอบเปิดเว็บหลายๆ เว็บพร้อมๆ กัน แต่ไม่อยากให้มีหน้าต่างโปรแกรมเยอะ เว็บที่เปิดขึ้นมาก็เลยไปอยู่รวมเป็นแท็บต่างๆ ในหน้าต่างโปรแกรมเดียวกัน แต่ปัญหาในสมัยก่อนคือ พอแท็บนึงค้าง มันพาลพาร่วงไปทุกแท็บ พวกเบราวเซอร์ต่างๆ ก็เลยทำการแยกแท็บออกมาเป็น Process ของใครของมัน เวลาแท็บนึงมันค้าง มันจะไม่ไปฉุดที่เหลือพังตามไปด้วย แต่ก็ทำให้มันต้องกินทรัพยากรมากขึ้น นอกจากนี้พวกเบราวเซอร์ต่างๆ มันก็มีคุณสมบัติเสริมเข้ามา เพื่อให้เว็บมันโหลดเร็วขึ้น ซึ่งพวกนี้ต้องใช้แรมจ้า

>> พวก Plug-in, Extension และ Add-on ต่างๆ นี่ก็ตัวดี ที่ทำให้เบราวเซอร์กินแรมมากขึ้น อย่าลืมนะครับ พวกปลั๊กอิน ตัวเสริมต่างๆ เนี่ย มันก็คือโปรแกรมเล็กๆ ตัวนึง ที่เข้ามาเกาะอยู่กับเบราวเซอร์ มันจะทำงานได้ มันก็ต้องกินแรมเป็นอาหารเหมือนกันนะครับ ถ้าอยากให้มันกินแรมน้อยลง ก็เอาพวกนี้ออก ให้เหลือเท่าที่พอกินพอใช้ก็พอ

>> ฟีเจอร์ต่างๆ บนเบราวเซอร์ ก็ตัวกินแรมเราดีๆ นี่เอง เพราะใครๆ ก็ชอบกันจัง ให้มีฟีเจอร์นั้นฟีเจอร์นี้ ปัญหาก็คือ ฟีเจอร์หลายๆ อย่างบนเบราวเซอร์ มันก็ปิดไม่ได้ เพราะเหมือนบังคับใช้ (ฮา)

>> เว็บสมัยนี้มันก็กินทรัพยากรในการแสดงผลจริงๆ นั่นแหละ เพราะพอเทคโนโลยีมันดีขึ้น เว็บก็ทำอะไรได้มากขึ้น คนก็คาดหวังจากเว็บมากขึ้น แต่เว็บเซิร์ฟเวอร์มันไม่ได้สเปกเทพแบบที่เราๆ ท่านๆ บางคนจินตนาการเอาไว้นะ การเรนเดอร์เว็บไซต์มาแสดงผลบนเบราวเซอร์ส่วนใหญ่ทำที่ฝั่งเบราวเซอร์เอง ฉะนั้นมันก็กินแรมบนคอมพิวเตอร์ของเรานี่แหละครับ เว็บไหนที่ลูกเล่นเยอะ เว็บนั้นก็กินทรัพยากรในการเปิดเยอะเป็นปกติ … และสำหรับเบราวเซอร์บางตัว เช่น Google Chrome มันก็กลายเป็นระบบปฏิบัติการไปแล้วด้วยซ้ำ (เขาถึงมี Chrome OS ไง)

แต่สุดท้าย ทรัพยากรบนเครื่องคอมพิวเตอร์ คือสิ่งที่ควรถูกนำไปใช้

แต่เอาเข้าจริงๆ ในทางคอมพิวเตอร์นั้น เราอยากจะใช้ทรัพยากรที่มีอยู่ให้คุ้มค่าที่สุดต่างหาก ไม่ว่าจะเป็น ซีพียู แรม เนื้อที่เก็บข้อมูล หรือแม้แต่พวกแบนด์วิธ คือของพวกนี้ จะให้มีเยอะๆ มันก็ต้องจ่ายตังค์ ถ้าเราจ่ายตังค์แล้ว มันมานั่งอยู่เฉยๆ ไม่ได้ถูกใช้งาน มันก็คือสูญเปล่า (พวกเครื่องเซิร์ฟเวอร์มันถึงเกิดแนวคิด Virtual machine ไง)

หน้าจอ Task Manager แสดงทรัพยากรที่ถูกใช้ไปบนเครื่องคอมพิวเตอร์

ฉะนั้น ตัวระบบปฏิบัติการ มันเลยถูกออกแบบมาให้พยายามใช้แรมที่มีอยู่ในเต็มที่มากที่สุดเท่าที่จะทำได้ ฉะนั้น หากแรมมันเหลือ มันก็จะพยายามเอาทุกอย่างยัดเข้าไปในแรมให้มากที่สุดเท่าที่จะทำได้ ฉะนั้น การเห็นแรมถูกใช้ไปแบบ 70%-80% นี่ถือว่าเป็นเรื่องปกตินะ หากนั่นคือ พฤติกรรมการใช้งานปกติของคุณ เพราะอีก 20%-30% ที่เหลือนั่นเอาไว้เผื่อใช้งานหนักกว่าปกติอะไรแบบนี้ แต่ถ้าเกิดเปิดเครื่องคอมพิวเตอร์มา ใช้งานตามปกติแล้ว แรมยังถูกใช้ไปแค่ 30%-60% นี่ ผมว่าคุณใส่แรมเยอะเกินไป ไม่คุ้มกับที่ซื้อมาแล้วล่ะ พวกซีพียู หรือฮาร์ดดิสก์ก็เช่นกัน (ที่เห็นในภาพด้านบน เครื่องคอมพิวเตอร์ของผมเพิ่งหมดไป 11% นั่นเพราะก่อนหน้าผมมีแค่ 512GB เลยใช้แบบลังเลๆ ตอนนี้ 1TB แล้ว ได้เวลายัด 555

ใส่ความเห็น

This site uses Akismet to reduce spam. Learn how your comment data is processed.