หน่วยความจำแบบใช้สายคืออะไร


55

ฉันพยายามคิดว่าหน่วยความจำทั้งหมดใน Macbook Pro ของฉันที่ใช้ระบบปฏิบัติการ OS X Lion เป็นอย่างไร ฉันมีหน่วยความจำทั้งหมด 8 GB เมื่อฉันออกจากโปรแกรมที่ใช้งานทั้งหมดยกเว้น Finder และกิจกรรมการตรวจสอบแล้วเรียกใช้การล้างหน่วยความจำ (FreeMemory) จะแสดงหน่วยความจำว่างประมาณ 5 GB, Active Memory 1 GB และ 1.5 หน่วยความจำแบบมีสาย เอกสารสนับสนุนกล่าวว่า Wired Memory เต็มไปด้วยสิ่งที่ "ไม่สามารถย้ายไปยังดิสก์" การรับหน่วยความจำทั้งหมดนั้นคืออะไร มันเป็นกระบวนการแถบเมนูหรือไม่? ฉันมี mozy, last.fm, dropbox และคำรามทำงานอยู่ในแถบเมนู แต่ทั้งหมดนั้นปรากฏในตัวจัดการกิจกรรมและดูเหมือนจะไม่ได้ใช้หน่วยความจำจำนวนมาก ฉันใช้ Parallels ด้วยเช่นกัน แต่มันปิดตัวลงอย่างสมบูรณ์ดังนั้นฉันจึงคิดว่าทุกอย่างมันควรจะเขียนลงดิสก์ เป็นเพียง Mac OS X ที่ใช้หน่วยความจำอันสงวนไว้และติดป้ายกำกับว่า "Wired" หรือไม่



ฉันจะรวมคำตอบที่นี่ - นี่เป็นถ้อยคำทางเลือกที่ดีของคำถามเพื่อให้ผู้คนจะพบคำถามหลักของเราเกี่ยวกับหน่วยความจำแบบใช้สาย
bmike

คำตอบ:


46

จากสิ่งที่ฉันสามารถบอกได้ว่าหน่วยความจำแบบใช้สายเป็นของเคอร์เนลซึ่งเป็นแกนในสุดของ Mac OS X มีการลบเลเยอร์จำนวนมากออกจากไอคอนในแถบเมนูซึ่งเป็นเพียงแอปทั่วไปที่แสดงตัวตนแปลก ๆ

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

เพื่อทำความเข้าใจว่าทำไมจินตนาการถึงห้องสมุดขนาดใหญ่ ตัวอย่างเช่นลองนึกถึงห้องสมุดบ๊อดเลียนที่มหาวิทยาลัยออกซ์ฟอร์ดซึ่งมีรายการพิมพ์สิบเอ็ดล้านเล่ม ไม่มีวิธีใดที่คุณจะสามารถเก็บทุกสิ่งนั้นไว้ในอาคารเดียว - ไม่แน่นอนในใจกลางมหาวิทยาลัย

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

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

อย่างไรก็ตามกลับไปที่การพิจารณาในทางปฏิบัติ: หน่วยความจำแบบใช้สายโดยคอมพิวเตอร์ของคุณใช้สำหรับการทำบัญชีภายในประเภทต่างๆ คุณไม่ควรกังวลเกี่ยวกับมัน

และไม่ต้องกังวลหากคุณมีหน่วยความจำ "ไม่ใช้งาน" และมีหน่วยความจำ "ฟรี" จำนวนน้อย หน่วยความจำที่ไม่ได้ใช้งานเป็นหน่วยความจำพื้นฐานที่ Mac OS กำลังรักษาบางสิ่งบางอย่างในโอกาสที่จำเป็นอีกครั้ง หากระบบของคุณต้องการหน่วยความจำนั้นสำหรับอย่างอื่นระบบจะถูกแปลงเป็นหน่วยความจำฟรีโดยไม่กระทบต่อประสิทธิภาพ

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

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

จริง ๆ คุณไม่ควรกังวลเกี่ยวกับการใช้หน่วยความจำของคุณเว้นแต่ว่าสาย + เปิดใช้งานเริ่มเข้าใกล้ 8 GB ในคอมพิวเตอร์ของคุณ นั่นคือเมื่อคุณอาจมีปัญหาเพราะนั่นคือเมื่อ Mac OS จะเริ่มใช้พื้นที่ดิสก์เพื่อเพิ่มหน่วยความจำ "พิเศษ" ประสิทธิภาพการทำลายล้างมาก

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


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

การบอกว่าหน่วยความจำที่ไม่ได้ใช้งานจะดีสำหรับคุณก็คือการโกหกที่ยิ่งใหญ่ที่สุดในโลก Mac! ในทางปฏิบัติคอมพิวเตอร์ Apple ไม่สามารถทำงานได้หากคุณไม่มีหน่วยความจำที่ไม่ได้ใช้งานจำนวนมาก ลอง 'ล้างข้อมูล' หน่วยความจำนี้และโปรแกรมทั้งหมดของคุณจะหยุดทำงานจนกว่าหน่วยความจำที่ไม่ได้ใช้งานจะกลับไปอยู่ที่ประมาณ 25% ของ RAM ทั้งหมดของคุณ (ทดสอบใน Mac OS X 10.6 และ 10.7) และถ้าสิ่งที่คุณพูดนั้นเป็นจริงสำหรับหน่วยความจำแบบใช้สายแล้วทำไม Mac OS X จึงต้องการมันมาก คอมพิวเตอร์ของฉัน (4GB) ใช้สายอย่างต่อเนื่องอย่างน้อย 800MB และหน่วยความจำ "ไม่ได้ใช้งาน" 1GB ไม่มีอะไรสามารถอธิบายได้ แต่การออกแบบที่ไม่ดี!
PierreBdR

2
หาก Mac ของคุณใช้กราฟิกในตัว (ซึ่งแตกต่างจากชิปกราฟิกแยกต่างหากที่มีราคาแพงและหิวพลังงาน) หน่วยความจำทั้งหมดที่ใช้โดยการ์ดกราฟิกนั้นจะต่อสาย เพียงอย่างเดียวนี้คือ 384 MB บน MacBook Air 13 "ของฉันตัวควบคุม Thunderbolt ต้องการหน่วยความจำแบบใช้สายจำนวนมากและฉันจะไม่แปลกใจถ้าบัฟเฟอร์ฮาร์ดดิสก์ทำเช่นกันสองร้อยเมกะไบต์ที่นี่ไม่กี่ร้อยที่นี่ พูดคุยเกี่ยวกับหน่วยความจำจริงคำถามคือเป็น Mac ของคุณภายใต้ความกดดันหน่วยความจำหากยังไม่ได้เลิกหลงใหลอยู่กับกิจกรรมการตรวจสอบและได้รับสิ่งที่ทำ..
Brent รอยัลกอร์ดอน

เพื่อต่อท้าย: ฉันใช้ Parallels สำหรับเครื่องเสมือน Windows ของฉันและหน่วยความจำสำรอง 8GB ที่ถูกจัดประเภทเป็น 'หน่วยความจำแบบมีสาย'
Nullius

19

การอ่านการใช้หน่วยความจำระบบในการตรวจสอบกิจกรรม

จาก support.apple.com ให้คำอธิบายโดยละเอียดเกี่ยวกับ "ประเภท" RAM ที่แตกต่างกัน

  • หน่วยความจำว่าง:นี่คือ RAM ที่ไม่ได้ใช้งาน

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

  • หน่วยความจำที่ใช้งานอยู่:ข้อมูลนี้อยู่ในหน่วยความจำในปัจจุบันและมีการใช้งานเมื่อเร็ว ๆ นี้

  • หน่วยความจำที่ไม่ได้ใช้งาน:ข้อมูลนี้ในหน่วยความจำไม่ได้ถูกใช้อย่างแข็งขัน แต่เพิ่งถูกนำมาใช้

  • ใช้แล้ว:นี่คือจำนวนหน่วยความจำทั้งหมดที่ใช้


7
ข้อมูลข้างต้นนั้นคือ "คำอธิบายโดยละเอียด" ชีววิทยาระดับมัธยมปลายคืออะไร มันไม่ได้บอกอะไรเราเกี่ยวกับหน่วยความจำแบบใช้สายเลย
Hassan Syed

2
developer.apple.com/library/mac/documentation/performance/…ลองใช้กับ "รายละเอียดข้อมูล"
Hassan Syed

6

Mac OS X เป็นระบบปฏิบัติการที่ทันสมัยดังนั้นจึงใช้หน่วยความจำเสมือนเพื่อทำให้ดูเหมือนกับแอปที่พื้นที่หน่วยความจำไม่ใช่วัตถุ แอพที่ใช้งานล่าสุดมักจะถูกย้ายไปที่ RAM แอพที่ใช้งานน้อยจะถูกย้ายไปยังฮาร์ดดิสก์ ระบบปฏิบัติการจะไม่ใช้ฮาร์ดไดรฟ์จนกว่าพื้นที่ใน RAM จะหมด

ไม่มีแอพเฉพาะที่จะ "ทำให้" หน่วยความจำแบบใช้สายนี้สะสม ระบบปฏิบัติการนั้นจัดการทุกส่วนของตัวเองและแอพที่คุณเปิดตัวเพื่อใช้งาน RAM ให้ได้ดีที่สุด

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


6
หน่วยความจำแบบใช้สายเพิ่มเติมโดยเฉพาะคือหน่วยความจำที่ไม่สามารถทำเพจได้ แอปพลิเคชันอื่น ๆ มีหน่วยความจำวางไว้ในไฟล์สลับ ผู้ใช้ทั่วไปของหน่วยความจำแบบใช้สายส่วนใหญ่คือแอพพลิเคชันสร้างภาพ (Parallels, VMWare) และระบบปฏิบัติการ mac os x นอกจากนี้ไม่ต้องกังวลหากคุณไม่มีหน่วยความจำว่างมากหน่วยความจำที่ไม่ได้ใช้งานนั้นดีพอ ๆ กับฟรีเพราะสามารถจัดสรรให้กับแอปพลิเคชันที่ต้องการได้ จำนวนหน้าและออกมาเป็นสัญญาณที่ดีที่คุณต้องแกะมากขึ้นแม้ว่า
MikelR

ฉันเห็นด้วยจำนวนหน้าเว็บที่มากและลึกหนาบางเป็นสัญญาณของ ram ไม่เพียงพอ ฉันมี RAM 8 GB ในระบบของฉันและฉันหมดพื้นที่ "ฟรี" เป็นประจำเรียกใช้ Xcode และแอพ Adobe ... ฉันกำลังคิดว่าจะเพิ่ม 16 GB ในไม่ช้าเมื่อราคาต่ำกว่า 500 $ ฉันหวังว่ามันจะเพียงพอสำหรับชั่วขณะ! :-)
Fred

การเปลี่ยนจาก MBP ที่มี RAM ขนาด 6GB ไปเป็น MBA ด้วย 4GB ram ทำให้ฉันรู้ว่า SSD นั้นอัพเกรดได้ดีกว่า RAM เสริมมาก 4GB พร้อม SSD นั้นเพียงพอสำหรับการเรียกใช้ Chrome, Mail, Skype, VMWare Fusion, iTunes, รูรับแสง, Adium, OmniFocus และอีกมากมายพร้อมกันโดยไม่ต้องสะดุด การเพิ่มจาก 4 ถึง 6GB ใน MBP ของฉันไม่ได้สร้างความแตกต่างอย่างมาก
w00t

6

สำหรับคำจำกัดความถึงแม้ว่าระบบปฏิบัติการเฉพาะให้คำตอบจากแนวทางการใช้หน่วยความจำ :

หน่วยความจำแบบใช้สาย

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

ตารางที่ 2 แสดงค่าใช้จ่ายหน่วยความจำแบบมีสายบางส่วนสำหรับเอนทิตีที่สร้างโดยแอปพลิเคชัน

หน่วยความจำแบบใช้สายสร้างขึ้นโดยซอฟต์แวร์ระดับผู้ใช้

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

  • วัตถุ VM
  • แคชบัฟเฟอร์หน่วยความจำเสมือน
  • แคชบัฟเฟอร์ I / O
  • ไดรเวอร์

โครงสร้างข้อมูลแบบมีสายยังเชื่อมโยงกับหน้าฟิสิคัลและตารางแผนที่ที่ใช้ในการจัดเก็บข้อมูลการแมปหน่วยความจำเสมือนทั้งสองหน่วยงานเหล่านี้ปรับขนาดด้วยจำนวนหน่วยความจำกายภาพที่มีอยู่ ดังนั้นเมื่อคุณเพิ่มหน่วยความจำในระบบจำนวนหน่วยความจำแบบใช้สายจะเพิ่มขึ้นแม้ว่าจะไม่มีอะไรเปลี่ยนแปลง เมื่อคอมพิวเตอร์ถูกบูทเข้าสู่ Finder เป็นครั้งแรกโดยที่ไม่มีแอปพลิเคชั่นอื่นทำงานหน่วยความจำแบบใช้สายสามารถใช้งานได้ประมาณ 14 เมกะไบต์ของระบบ 64 เมกะไบต์และ 17 เมกะไบต์จากระบบ 128 เมกะไบต์

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


4

มีคำตอบที่ดีมากหลายข้อและฉันต้องการเพิ่มเครื่องมือที่ทุกคนสามารถใช้เพื่อจัดทำเอกสารสิ่งที่หน่วยความจำแบบใช้สายมีการใช้งาน - ดังนั้นคำตอบเฉพาะตรงข้ามกับคำอธิบายทั่วไปของหมวดหมู่

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

จากนั้นบันทึก / ย้าย tar.gz ที่เก็บผลลัพธ์ออกจาก / var / tmp ไปยังเดสก์ท็อปเพื่อไม่ให้ถูกลบเมื่อรีบูต

จากนั้นรีบูตเครื่อง Mac ของคุณและก่อนที่จะเปิดตัวโปรแกรมเสริมใด ๆ ให้ทำซ้ำsysdiagnoseคำสั่งและเปรียบเทียบหน่วยความจำก่อนและหลังเพื่อดูว่ากระบวนการใดที่ใช้หน่วยความจำแบบใช้สายเพิ่มเติม


2

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

จาก tuaw http://www.tuaw.com/2007/03/06/just-what-is-wired-memory-anyway/


-4

หน่วยความจำเสมือนเป็นพื้นฟรี_ _พื้นที่ที่ใช้เป็นส่วนขยายของแกะ


หน่วยความจำเสมือนอาจเป็น "ฟรี" ใน "ค่าใช้จ่ายที่จ่ายสำหรับ RAM ไม่ได้รับผลกระทบ" (แม้ว่าจะมีส่วนร่วมกับค่าใช้จ่ายที่จ่ายสำหรับการจัดเก็บดิสก์) หรือ "ฟรี" เช่นเดียวกับใน "โดยไม่ใช้ RAM ค่อนข้างเป็นความจริงเนื่องจากมันต้องการ RAM ขนาดเล็กสำหรับการจัดการ) แต่เนื่องจากค่าใช้จ่ายของหน่วยความจำมักจะพิจารณาเพิ่มเติมในแง่ของผลกระทบต่อความเร็วในการดำเนินงานและการเข้าถึงมันช้ากว่าการเข้าถึง RAM มาก ถือว่าเป็น "พื้นฟรี"
Zhora
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.