"Pages Input / sec เป็นตัวนับให้ชม แต่คุณไม่ควรกังวลเกี่ยวกับ" การสลับ "เนื่องจากหน้าต่างไม่ได้ใช้ไฟล์หน้าเช่น * nixes
ก่อนอื่นคุณต้องเข้าใจว่า windows windows ไม่เข้าออก ฉันจะอ้างอิงส่วนที่เกี่ยวข้องของโพสต์บล็อกของEric Lipperts (แก้ไขเบา ๆ ) เนื่องจากฉันไม่สามารถพูดได้ดีกว่า:
"แรมสามารถมองได้ว่าเป็นเพียงการเพิ่มประสิทธิภาพการเข้าถึงข้อมูลใน RAM ซึ่งข้อมูลถูกเก็บไว้ในสนามไฟฟ้าที่แพร่กระจายใกล้กับความเร็วแสงนั้นเร็วกว่าการเข้าถึงข้อมูลบนดิสก์ซึ่งข้อมูลถูกเก็บไว้ในมหาศาล โมเลกุลโลหะเหล็ก
ระบบปฏิบัติการจะติดตามว่าหน้าใดของที่เก็บซึ่งกระบวนการเข้าถึงบ่อยที่สุดและสร้างสำเนาของพวกเขาใน RAM เพื่อเพิ่มความเร็ว เมื่อกระบวนการเข้าถึงตัวชี้ที่สอดคล้องกับเพจที่ไม่ได้แคชใน RAM ในปัจจุบันระบบปฏิบัติการจะทำ“ page fault” ออกไปที่ดิสก์และทำสำเนาหน้าจากดิสก์ไปยัง RAM ทำให้มีข้อสันนิษฐานที่สมเหตุสมผล กำลังจะเข้าใช้อีกครั้งในไม่ช้า
ระบบปฏิบัติการยังฉลาดมากเกี่ยวกับการแบ่งปันทรัพยากรแบบอ่านอย่างเดียว หากทั้งสองกระบวนการโหลดหน้ารหัสเดียวกันจาก DLL เดียวกันระบบปฏิบัติการสามารถแชร์แคช RAM ระหว่างสองกระบวนการ เนื่องจากรหัสไม่น่าจะถูกเปลี่ยนโดยกระบวนการใดกระบวนการหนึ่งจึงควรมีการบันทึกหน้าที่ซ้ำกันของ RAM โดยการแชร์
แต่ถึงแม้จะมีการแบ่งปันที่ชาญฉลาดในที่สุดระบบแคชนี้ก็จะหมด RAM เมื่อสิ่งนี้เกิดขึ้นระบบปฏิบัติการจะเดาได้ว่าหน้าใดที่มีโอกาสน้อยที่สุดที่จะเข้าถึงได้อีกในไม่ช้าเขียนออกไปยังดิสก์หากพวกเขาเปลี่ยนไปและทำให้ RAM นั้นอ่านในบางสิ่งที่มีโอกาสเข้าถึงได้อีกครั้ง ในไม่ช้า
เมื่อระบบปฏิบัติการคาดเดาไม่ถูกต้องหรือมีโอกาสมากขึ้นเมื่อมี RAM ไม่เพียงพอที่จะจัดเก็บหน้าเว็บที่เข้าถึงบ่อยในกระบวนการที่กำลังทำงานอยู่ทั้งหมดเครื่องจะเริ่ม“ thrashing” ระบบปฏิบัติการใช้เวลาทั้งหมดในการเขียนและอ่านที่เก็บข้อมูลดิสก์ที่มีราคาแพงดิสก์ทำงานอย่างต่อเนื่องและคุณไม่ได้ทำงานอะไรเลย
นอกจากนี้ยังหมายความว่าการ "หมด RAM" มักจะส่งผลให้เกิดข้อผิดพลาด "หน่วยความจำไม่เพียงพอ" แทนที่จะเกิดข้อผิดพลาดจะส่งผลให้ประสิทธิภาพการทำงานลดลงเนื่องจากราคาเต็มของความจริงที่ว่าที่เก็บข้อมูลบนดิสก์จริง ๆ แล้วมีความเกี่ยวข้อง
อีกวิธีในการดูที่นี่คือจำนวนหน่วยความจำเสมือนทั้งหมดที่โปรแกรมของคุณใช้งานนั้นไม่เกี่ยวข้องกับประสิทธิภาพของโปรแกรมมากนัก สิ่งที่เกี่ยวข้องไม่ใช่จำนวนหน่วยความจำเสมือนทั้งหมดที่ใช้ แต่ (1) หน่วยความจำนั้นไม่ได้ใช้ร่วมกับกระบวนการอื่น (2) จำนวน "ชุดการทำงาน" ของหน้าเว็บที่ใช้กันทั่วไปมีขนาดใหญ่เพียงใดและ ( 3) ชุดการทำงานของกระบวนการที่ใช้งานอยู่ทั้งหมดนั้นมีขนาดใหญ่กว่า RAM ที่มีหรือไม่
ถึงตอนนี้มันควรจะชัดเจนว่าทำไมข้อผิดพลาด“ หน่วยความจำไม่เพียงพอ” มักจะไม่เกี่ยวข้องกับจำนวนหน่วยความจำกายภาพที่คุณมีหรือจำนวนหน่วยความจำที่มีอยู่ มันมักจะเกี่ยวกับพื้นที่ที่อยู่ซึ่ง Windows 32 บิตมีขนาดค่อนข้างเล็กและแยกส่วนได้ง่าย "
จุดเพิ่มเติมไม่กี่:
- ที่กำลังและไฟล์โปรแกรมจะถูกเพจเท่านั้นเสมอไม่เคยออกเพราะพวกเขาอยู่แล้วในดิสก์ (และมักจะเป็นหน้าแรกที่เป็นอิสระเมื่อ ram ทางกายภาพต่ำ)
- คุณมีจำนวน likley เหลือหมดหน้าตารางฟรีหรือมีหน่วยความจำ fragemented หนักกว่าปัญหาหน่วยความจำอื่น ๆ (นอกเหนือจากประสิทธิภาพโดยรวมแย่ตามที่กล่าวถึงแล้ว)
- แม้ว่าคุณจะเรียกใช้โดยไม่มีไฟล์หน้าคุณยังสามารถได้รับความผิดพลาดของหน้า
- โดยทั่วไปการพูดถึงการมองหาหน่วยความจำที่ได้รับมอบหมายนั้นบอกได้มากกว่าว่ากระบวนการใช้หน่วยความจำอย่างไร
สำหรับภาพรวมของวิธีการจัดการหน่วยความจำทำงานใน windows ดู
ตัวจัดการหน่วยความจำเสมือนใน Windows NT
หากคุณคิดว่าคุณมีปัญหาหน่วยความจำฉันขอแนะนำให้ดูงานนำเสนอนี้ในการแก้ไขปัญหาหน่วยความจำหน้าต่าง
ต่อไปนี้เป็นคำอธิบายที่ดีว่าทำไมบางครั้งคุณถึงได้รับ "หน่วยความจำไม่พอ" เมื่อคุณไม่ต้องขอบคุณการกระจายตัวของหน่วยความจำ:
ดูเพิ่มเติมที่การผลักดันขีด จำกัด ของ Windows: หน่วยความจำกายภาพ
เพิ่มเติมเกี่ยวกับหน่วยความจำเสมือนการกระจายตัวของหน่วยความจำและรอยรั่วและ WOW64
RAM, หน่วยความจำเสมือน, Pagefile และทุกอย่างนั้น (การสนับสนุนของ Microsoft)
ปรับปรุง:
Windows 10 ทำบางสิ่งที่แตกต่างกับหน่วยความจำเล็กน้อยและเมื่อเวลาผ่านไปคุณจะเห็นกระบวนการที่เรียกว่า "ระบบและหน่วยความจำที่ถูกบีบอัด" Windows 10 จะเพิ่ม "ที่เก็บการบีบอัด" ลงในรายการเพจจิ้ง ram นี้คือหน่วยความจำ USER ที่เป็นของระบบ (โดยทั่วไประบบจะมีหน่วยความจำเคอร์เนลเท่านั้น) หน่วยความจำนี้ถูกบีบอัดเพื่อลดค่าเฉลี่ยลงประมาณ 30% สิ่งนี้ช่วยให้สามารถเก็บหน้าได้มากขึ้นในหน่วยความจำ (สำหรับผู้ที่คุณกำลังทำคณิตศาสตร์นั่นคือพื้นที่มากขึ้น 70%) โปรดทราบว่าหากหน่วยความจำยังคงมีแรงกดดันอยู่หน้าจากที่จัดเก็บการบีบอัด รายการ (บีบอัด) ซึ่งสามารถเขียนไปยังไฟล์เพจจริงได้ ระบบจะเห็นว่าพวกเขามาจากพื้นที่โหมดผู้ใช้ระบบและบีบอัดและจะไม่พยายามที่จะนำพวกเขากลับมาในร้าน ดังนั้นในระบบ windows 10 มันอาจดูเหมือนว่าระบบกำลังสูดดม ram แต่ที่จริงแล้วมันแค่พยายามใช้ ram ให้มีประสิทธิภาพมากขึ้น ผู้ใช้ Mac ใช้คุณสมบัติที่คล้ายกันมาตั้งแต่ปี 2013 และเคอร์เนล Linux รุ่นใหม่ใช้การบีบอัดหน่วยความจำ วิธีการอนุรักษ์หน่วยความจำนี้ไม่เพียง แต่จะดีขึ้น แต่ยังพบได้ทั่วไปในระบบปฏิบัติการอื่น