Jump to content
tum

วิธีดู Activity Monitor มาดูว่า OS เราใช้แรมแบบไหนกัน

Recommended Posts

เป็นคำตอบของคุณ cyberdude ในบอร์ดเก่านะครับ

จากคำถามของคุณ alo55555 ที่ถามไว้

 

อยากรู้วิธีดู Activity Monitor ครับ

 

และหลายๆ ครั้ง ที่พบเห็นคำถามเกี่ยวกับว่า เครื่องใช้แรมเยอะมีปัญหามั้ย , ทำไมมีแรมตั้งเยอะเครื่องก็ใช้ไม่พอ , จะเพิ่มแรมเพราะ OS กินไปหมดเลย ฯลฯ

ลองมาอ่านเรื่องนี้ดูครับ ผมลอกมาแปะไว้ให้ จะได้เข้าใจกันว่า OS X ใช้แรมยังไง แล้วเราจำเป็นไหม ที่จะต้องเพิ่มแรม

 

เครดิตคุณ cyberdude ครับ

 


 

จะพยายามอธิบายสั้นๆให้เข้าใจง่ายนะครับ แล้วถ้าสงสัยอะไรค่อยถามเพิ่มมาละกัน...

 

อันนี้เป็นคำอธิบายเพื่อการอ่านค่าของส่วน system Memory สีต่างๆในวงกลมจากรูปที่คุณ alo55555 เอามาแปะนะครับ

 

เปิดเครื่องมา OS X มันก็จะสำรวจแล้วก็จำไว้ว่ามันมี RAM จริงๆอยู่เท่าไหร่ แล้วก็จองส่วนที่ OS ต้องใช้งานพื้นฐานไว้ก่อนนิดนึง เอาไว้ให้ Kernel และ OS ใช้บริหารระบบ

 

ข้อมูลส่วนนี้จะอยู่บน RAM ตรงนั้นตลอดเวลา ไม่สามารถเคลื่อนย้ายไปไหนได้ ส่วนนี้เค๊าเรียกกันว่า Wired

 

ที่นี้ ที่เหลือว่างๆอยู่ เป็นพื้นที่สีเขียวยังไม่ได้ใช้ เรียกว่า Free

 

พอเริ่มเปิดโปรแกรม เริ่มทำงาน ก็เอาส่วนสีเขียวมาใช้งาน กลายเป็นสีเหลือง คือ RAM ที่บรรจุโปรแกรมที่เปิดและกำลังมีการใช้งานอยู่(มีการคำนวนเกิดขี้น) ส่วนนี้คือ Active

 

ทีนี้ OS X มันเป็น Multitask หมายความว่า ทำงานหลายๆอย่างได้พร้อมๆกัน เราเลยสามารถเปิดโปรแกรมได้หลายๆตัว ตัวไหนต้องคำนวนนาน หรือทำงานต่อเนื่องของมันเองได้ เราก็ทิ้งมันไว้ให้ทำงานเองไปเรื่อยๆอยู่หลังฉาก แล้วเปิดอันอื่นมาทำพร้อมๆกันไปด้วยได้ อันนี้มันก็จะ Active ของมันอยู่ตลอด

 

โปรแกรมส่วนที่อยู่บน RAM และมีงานทำ คือระบบมันเห็นว่าตรงนั้นยังมีการคำนวน/เคลื่อนไหวอยู่มันก็จะยังเป็นสีเหลืองอยู่

 

ส่วนที่โปรแกรมมันอาจจะทำงานของมันเสร็จไปแล้ว แล้วไม่มีการเรียกข้อมูลบน RAM ส่วนนั้นมาผ่าน CPU มาซักชั่วระยะเวลานึงแล้ว ระบบมันก็จะเรียก RAM ตรงนั้นว่า Inactive

 

Inactive จะกลับเป็น Active ก็ต่อเมื่อคุณกลับไปที่หน้าจอของโปรแกรมนั้น แล้วสั่งให้มันทำอะไรซักอย่างต่อไป..

 

นี่คือเฉพาะสิ่งที่อยู่บน Memory หรือ RAM ที่คุณมีอยู่..

 

 

เพราะฉะนั้น Wired + Free + Active + Inactive จะเท่ากับ RAM จริงๆทั้งหมดที่คุณมีอยู่บนเครื่องครับ

 

Screen Shot 2012-10-28 at 9.03.21 AM.png


 

ทีนี้ ในระหว่างการทำงาน เราอาจจะทำโน่นทำนี่ไปเรื่อย และต้องการใช้ RAM มากกว่าที่เรามีอยู่ OS X ส่วนที่ทำหน้าที่บริหารระบบ Memory ก็จะต้องพยายามทำให้ได้โดยราบรื่นที่สุด ไม่ให้งานมันสะดุด

 

ตรงนี้ มันคือการบริหารทรัพยากร ให้เปรียบเทียบการบริหาร Memory โดย OS ที่เก่งๆ กับการบริหารเงินดูนะครับ จะคล้ายๆกัน ศาสตร์ของมันตล้ายๆการหมุนเงิน, คือกู้ยืมและใช้คืนนั่นแหละ

 

ของไม่พอ ก็ต้องกู้ใช่มั๊ยครับ? OS X มันจะไปยืม Memory ที่ไหนล่ะ? ก็จากพื้นที่ว่างบน Hard Drive ไง...

มันก็จัดการขอจับจองพื้นที่ HD ส่วนที่ว่างไว้ล่วงหน้าก่อน (เหมือนการขอเปิด OD กับแบงค์ ;) ) เป็นการเผื่อฉุกเฉิน อันนี้ส่วนมากก็ขอไว้ 1-3 เท่าของ RAM แล้วแต่สะดวกของเค๊า

 

พื้นที่ HDD ส่วนที่จะเอามาเก็บข้อมูลส่วนเกินของ RAM นี่แหละครับ ที่เรียกว่า Virtual Memory (VM)

 

และเจ้าหน่วยของข้อมูลบน Memory เนี่ย OS X เค้าจะแบ่งมันเป็นส่วนๆ เวลาโหลดเข้า-ออกจาก RAM หรือเอาไปฝากไว้บน HD จะได้นับง่ายๆ (เหมือนหน่วยเงินไทยมีค่าเป็นบาท เพื่อเข้าใจจำนวนตรงกันระหว่างผู้กู้กับผู้ให้กู้)

 

หน่วยของ Memory เรียกเป็น Page

หนึ่งเพจ = 4k หรือสี่กิโลไบท์ (เหมือนหนี่งบาทมีสี่สลึง)


 

แล้วคราวนี้ เวลา RAM ไม่พอก็คือส่วน Free มันหมดแล้ว ต้องการพื้นที่ RAM เพิ่ม

OS X เค้าก็จะเอาส่วนที่ยังไม่ได้ใช้งานคือ Inactive มา swap หรือสลับกับพื้นที่บน HD คือเอาข้อมูลบนหน่วยความจำที่ไม่ค่อยได้ใช้ มาเขียนบน HD แล้วเปิดที่ว่างบน RAM ตรงนั้นมาใช้กับงานที่ Active แทน

 

พอจะใช้ข้อมูลส่วนที่ swapped ไปเก็บใน VM แล้วอีกที ก็ค่อยโหลดกลับมาครับ

 

ถ้า RAM ไม่พอหนักๆเข้า แม้แต่ส่วนที่ Active ก็จะต้องมีการ Swap เข้า-ออกระหว่าง HDD<-->RAM ไปด้วย

ตรงนี้แหละที่จะรู้สึกว่าเครื่องเริ่มช้า เพราะมีการโหลดข้อมูลไปมาระหว่าง RAM-HDD-CPU มาก และ HD ก็อ่าน/เขียนช้ากว่า RAM เยอะ

 

กริยาของการโหลดไป-โหลดกลับ นี่แหละคือ Page Out กับ Page In ครับ

ที่นี้ การดูว่าเครื่องมันต้องใช้ VM เปลืองไปขนาดไหนแล้ว ก็ดูที่ค่า Page outs ครับ

เพราะค่า Page out คือค่าของข้อมูลใน RAM ที่ถูกโหลดไปอยู่บน HDD แล้ว

ถ้าตราบใดที่ระบบทั้งหมดยังใช้ RAM จริงๆพอ ค่า Page outs ก็จะยังเป็น 0 อยู่

 

Page out นี้จะเกิดขี้นกับส่วนที่เป็นงาน (documents) และ Applications เท่านั้น

ส่วนสีแดงที่เรียกว่า Wired จะเป็นข้อมูลสำคัญบน Memory ที่ไม่สามารถย้ายที่ได้

 

หวังว่าจะทำให้กระจ่างขี้นบ้างครับ

 

 

แถมนิดนึง- การเปืด Activity Monitor มาดููระหว่างทำงานหนักๆไปด้วยตลอดเวลา นั้นไม่ค่อยจำเป็นนักนะครับ ออกจะเป็นการหน่วงเตรื่องมากขี้นอีก เพราะ Activity Monitor เองก็ใช้ RAM และตัวมันเองก็ Active ตลอดเวลา และจะกินแรง CPU ไปอีก 3-10% ครับ

 

 

 

ถ้าต้องการจะเปิด Activity Monitor แต่ไม่อยากให้กินแรงเครื่องเกินไปนัก

แนะนำให้ไปที่ view-->Update Frequency

แล้วตั้งไว้ที่ Less often

มันจะจับข้อมูลทุกๆ 5 วินาที แทนที่จะเป็นทุก 2 วินาที

ทำให้หน่วงเครื่องน้อยลงครับ

 


 

แล้วแรมที่มีอยู่ในเครื่อง พอหรือไม่ ดูยังไง

 

ดูที่ page out ถ้ายังเป็น 0 ก็แสดงว่าแรมพอครับ

inactive จะเปลี่ยนเป็น free เมื่อไหร่ ฯลฯ จะนั่งสังเกตเอาก็ได้ครับ แต่ผมขอตัวไปทำงานดีกว่าแฮะ

 

ถ้าต้องการให้ free RAM เหลือเยอะๆ แสดงว่าคุณ over upgrade ครับ ให้ถอดแรมส่วนที่เหลือไปขายแลกข้าวรับประทาน ยังดีกว่าเสียบทิ้งไว้แล้วไม่ได้ใช้

 

VM size ตามที่แจ้งนั้น คือค่าที่ตัวระบบมันรับรู้ว่าจะดึงมาใช้ได้เท่าไหร่ครับ ไม่ใช่ค่าที่ใช้จริงอยู่ และไม่ต้องตั้งเอง

อย่างที่บอก ถ้า page out ยังเป็น 0 คือยังไม่มีการใช้ VM

 

เรื่องการใช้งานทั่วๆไป ผมห่วงเรื่อง memory leak ของแต่ละโปรแกรมมากกว่าระบบจัดการของตัว OS แฮะ

อาการไม่คืน ram นี่บางทีมันอาจจะเป็นที่ bug ของโปรแกรมบางตัวครับ

 

ซาฟารีนี่ก็ตัวดีครับ เปิดทิ้งไว้นานๆ เล่นเวปที่มี media เยอะๆนี่พี่แกซัดทีหลายร้อย MB เลยนะครับ ปิดหน้าเวปไปแล้วบางทีก็ไม่คืน

 

OS X ไม่รีสตาร์เลยได้ แต่ตัวโปรแกรมนี่ ถ้าบางตัวยังนิสัยไม่ค่อยดี quit บ้างเป็นระยะๆก็ช่วยได้ครับ

 


 

หวังว่าคงพอจะเป็นประโยชน์นะครับ

จะได้ไม่ต้องไปค้นในบอร์ดเก่ากันเอง ผมไปค้นมาให้ ^_^

  • Like 27
  • Thanks 1

Share this post


Link to post
Share on other sites

ขอบคุณครับเข้าใจมากขึ้นกว่าเดิมเลยที่เดียว

Share this post


Link to post
Share on other sites

ขอบคุณค่ะ แต่เดี๋ยวนี้ใช้ windows ค่ะ(NB)

Share this post


Link to post
Share on other sites

ขอบคุณบทความมากครับ ละเอียดดีมาก :lol:

Share this post


Link to post
Share on other sites

ขอบคุณสำหรับรายละเอียดดีๆครับ

Share this post


Link to post
Share on other sites

เพิ่งเข้าใจชัดๆ ก็คราวนี้แหละ ขอบคุณหลายๆ ครับ :!tuzki040:

Share this post


Link to post
Share on other sites

ขอดันหน่อย เห็นหลายกระทู้ บอกว่า เหมือน Safari ค้าง สามารถเอาความรู้จากนี้ไปใช้ได้นะครับ

Share this post


Link to post
Share on other sites

ส่วนมากsafari ค้างเวลาเปิด Facebook เพราะมันโหลดตลอดเวลานะ เปิดทิ้งไว้นี่เซ็งเลย

Share this post


Link to post
Share on other sites

ขอบคุณมากครับ ลองเปิดคอมตัวเองดู Inactive เยอะมาก คอมช้าเลย

Share this post


Link to post
Share on other sites

ขอบคุณมากครับสำหรับความรู้ดีๆ ผมพึ่งย้ายจาก Windows มาใช้ osx ทั้งระบบกำลังปรับตัวอยู่ครับ

Share this post


Link to post
Share on other sites

เห็นกระทู้แล้วนึกถึงบรรยากาศสมัยใช้แมคใหม่ๆ คิดถึงคุณ Cyberdude ด้วย

Share this post


Link to post
Share on other sites

สุดยอดไปเลยครับ วันนี้ได้ความรู็ไปอีก 1 อย่าง คุ้มล่ะวันนี้ :D

Share this post


Link to post
Share on other sites

ขอบคุณครับเข้าใจขึ้นเยอะ ^^ อยากบอกว่า mac osx กินแรมเยอะจริงๆ อิอิ

Share this post


Link to post
Share on other sites

ว๋าวว หาข้อมูลตั้งนานไม่เจอ เจอเว็บนี้นี่เอง ขอบคุณมากครับ 

Share this post


Link to post
Share on other sites

ขอบคุณมากคับ พึ่งจะเข้าใจก็ครั้งนี้ 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×