หน่วยความจำแบบมีสายและหน่วยความจำที่ใช้งานอยู่ใน OS X


13

ฉันมีปัญหาในการเข้าใจความแตกต่างระหว่าง Wired Memory และ Active Memory ใน OS X

อย่าพูดถึงหน่วยความจำสี่ประเภท (อย่าพูดถึงหน่วยความจำที่ว่างหรือไม่ได้ใช้งานเพราะฉันรู้แล้วว่าหน่วยความจำเหล่านี้คืออะไร) เพียงเปรียบเทียบและเปรียบเทียบหน่วยความจำแบบใช้สายกับหน่วยความจำที่ใช้งานอยู่เพื่อให้ฉันสามารถเข้าใจทั้งสองได้ดีขึ้น

คำตอบ:


29

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

“ การเพจ” เป็นคำที่ถูกต้องสำหรับการกระทำดังต่อไปนี้ “ การสลับเปลี่ยน” ใช้เรียกขานสำหรับ“ เพจจิ้ง” ซึ่งค่อนข้างสลับกันในทุกวันนี้ “ การสลับหน่วยดั้งเดิม” หมายถึงการย้ายพื้นที่หน่วยความจำของโปรแกรมไปยัง“ หน่วยเก็บข้อมูลรอง” อย่างสมบูรณ์ (ตรงข้ามกับ“ พื้นที่เก็บข้อมูลหลัก” ซึ่งเป็นคำศัพท์ที่เก่าแก่สำหรับ ... RAM ในทางใดทางหนึ่ง) ขอบเขตระหว่างการสลับหน้าและการสลับค่อนข้างชัดเจนโดยระบบ Windows และ Unix ที่เรียกการสลับพื้นที่การสลับหน้า

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

โปรดทราบว่าถึงแม้ว่าเพจจิ้งจะหมายถึงการปรับประสิทธิภาพในการเข้าถึงข้อมูลบิตนั้นอีกครั้ง แต่เพจสามารถเกิดขึ้นได้ในสองกรณี: (การอ้างถึงตัวเอง: ข้อเสียของการไม่มีพาร์ทิชัน swap )

  1. เมื่อไม่มีหน่วยความจำเพียงพอสำหรับแอปพลิเคชันทั้งหมด - ในกรณีที่สิ่งนี้เกิดขึ้นกับระบบที่ไม่มีพื้นที่สว็อปจะทำให้เกิดความล้มเหลวในการจัดสรรหน่วยความจำสำหรับแอปพลิเคชันใหม่ที่ขอหน้าหน่วยความจำใหม่
  2. เมื่อหน้าหน่วยความจำบางส่วน (หน่วยความจำถูกแบ่งออกเป็น "หน้า") ถูกใช้มานานแล้ว แต่ไม่ได้ใช้งานอีกต่อไปตอนนี้มันจะถูกถ่ายโอนไปยังไฟล์ swap และหน่วยความจำที่เหลือสามารถใช้เพื่อทำอย่างอื่นซึ่งอาจมีประโยชน์มากกว่า (เช่นแม้แต่การแคช!) - เมื่อสิ่งนี้เกิดขึ้นในระบบที่ไม่มีพื้นที่สว็อปซึ่งจะทำให้หน้าว่างในหน่วยความจำ นี่เป็นเรื่องที่ไม่ร้ายแรงนักเนื่องจากเรามีหน่วยความจำจำนวนมากในทุกวันนี้

หน่วยความจำสี่ประเภทแบ่งได้ดังนี้:

  • Wired:ใช้โดยแอพพลิเคชั่นที่อ้างว่าหน่วยความจำที่จัดสรรไว้จะต้องอยู่ใน RAM และไม่สามารถแลกเปลี่ยนลงบนดิสก์ได้ไม่ว่าจะใช้งานเมื่อเร็ว ๆ นี้หรือไม่เช่นแอปพลิเคชันอื่นอาจไม่ร้องขอหน่วยความจำนั้น ๆ ตัวอย่างเป็นส่วนหนึ่งของหน่วยความจำที่ใช้โดยระบบและที่ใช้โดยเครื่องเสมือน

  • ใช้งาน & ไม่ใช้งาน:นี่เป็นหน่วยความจำที่มักใช้โดยแอปพลิเคชันโหมดผู้ใช้ซึ่งสามารถถอดเปลี่ยนได้บนดิสก์ “ ใช้งานอยู่” หมายความว่ามีการใช้งานล่าสุดและ“ ไม่ใช้งาน” หมายความว่าไม่ได้ใช้งานล่าสุด ระบบปฏิบัติการจะสลับหน้าที่ไม่ใช้งานเป็นอันดับแรกจากนั้นจึงเปิดใช้งานหน้าเว็บในภายหลังหากจำเป็น

  • หน่วยความจำว่าง:หน่วยความจำที่ไม่ได้ใช้ ใช้เพื่อวัตถุประสงค์อื่นเช่นการแคชฮาร์ดดิสก์

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

หน่วยความจำฟรี→หน่วยความจำไม่ได้ใช้งาน→หน่วยความจำที่ใช้งานอยู่

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

ในระบบที่ทันสมัยแม้ว่าจะค่อนข้างไม่น่าที่หน่วยความจำที่ใช้งานจะได้รับการเพจออกเนื่องจากเรามี RAM มากมาย


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

1
ฉันได้ยินมาว่าหน่วยความจำที่ไม่ได้ใช้งานเป็นเพียงแคชในกรณีที่โปรแกรมที่ถูกปิดเริ่มทำงานอีกครั้ง หากเป็นจริงแล้วทำไมจึงต้องใส่ดิสก์
tony_sid

1
คุณได้ยินอะไรผิดปกติ แอปพลิเคชั่นที่ปิดจะทำให้หน่วยความจำของมันเป็นอิสระเว้นแต่ว่ามีบางอย่างผิดปกติกับสถาปัตยกรรมหน่วยความจำ
bubu

2
คำตอบที่ยอดเยี่ยม! +1
posdef

1
@tony_sid การสนทนาเก่า แต่สิ่งที่คุณได้ยินถูกต้อง ตามที่กล่าวไว้ในฝ่ายสนับสนุนของ Apple "อย่างไรก็ตามถ้าคุณเปิด Mail ก่อนที่หน่วยความจำ Inactive จะถูกใช้โดยแอพพลิเคชั่นอื่น Mail จะเปิดเร็วขึ้นเพราะหน่วยความจำ Inactive จะถูกแปลงเป็นหน่วยความจำที่ใช้งานแทนการโหลดจากไดรฟ์ช้า
Gaurav
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.