วิธีการ "สลับใน" หน่วยความจำอีกครั้งจากไฟล์หน้าเป็นหน่วยความจำกายภาพใน Windows พร้อมกัน (เช่น linux swap-off)


10

มีวิธีในการสลับกลับ (เพื่อใส่ข้อมูลหน่วยความจำทั้งหมดที่ใส่ลงในไฟล์หน้า (หรือสลับสิ่งที่คุณต้องการ)) หน่วยความจำบนพีซี Windows

บน linux เราสามารถทำสิ่งนี้ได้อย่างง่ายดายด้วย swapoff / dev / sdaX โดยที่ X คือ swap partition บน windows ดูเหมือนว่าจะขอให้ฉันรีบูตทุกครั้ง ..

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

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

ขอบคุณล่วงหน้าสำหรับคำแนะนำในเรื่องนี้!

ขอแสดงความนับถือ


สิ่งที่คุณต้องการคือ "ไฮเปอร์ไวเซอร์" ที่มี Windows หลายชุดทำงานอยู่ คุณระงับหนึ่งและยกเลิกการระงับอื่น ๆ มันทำค่อนข้างมากกับระบบอื่น ๆ แต่ฉันไม่แน่ใจว่ามีไฮเปอร์ไวเซอร์ที่สามารถดึงสิ่งนี้ออกสำหรับ Windows
Daniel R Hicks

คำตอบ:


6

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


บางทีกระบวนการของบุคคลที่สามที่ได้รับการยกเว้นอย่างเพียงพออาจลองและเข้าถึงหน้าเหล่านั้นเพื่อให้เกิดความผิด
badp

มันจะไม่ทำดีมากสำหรับกระบวนการอื่นในการเข้าถึงหน้า คุณต้องการแอพที่มีข้อบกพร่องในกระบวนการสำหรับแอพที่คุณพยายามใช้
Jamie Hanrahan

ลองคิดดูสิมันสามารถทำได้ ... คุณต้องฉีดเธรดระยะไกลลงในกระบวนการเป้าหมาย เธรดนั้นจะทำ VirtualQuery บนพื้นที่ที่อยู่จากนั้นอ่านหน้ากระบวนการส่วนตัวทั้งหมด อย่างไรก็ตามไม่มีวิธีแยกความแตกต่างระหว่างหน้าเว็บที่อยู่ใน RAM และถูกทำเพจเอาต์ในภายหลังเทียบกับหน้าเว็บที่ไม่เคยทำเพจในตอนแรก นอกจากนี้ยังไม่มีวิธีระบุหน้าเว็บที่กระบวนการไม่ต้องการอีกต่อไป ดังนั้นคุณจะเพจในสิ่งต่าง ๆ มากมายที่คุณไม่จำเป็นต้อง
Jamie Hanrahan

@JamieHanrahan ดูเหมือนว่าจะใช้ได้
David Schwartz

1

น่าเสียดายที่ไม่มีตัวเลือกดังกล่าว

วิธีเดียวในการลดการแลกเปลี่ยนใน Windows คือการเพิ่ม RAM จริง


หรือปิดการแลกเปลี่ยนอย่างสิ้นเชิง ไม่จำเป็นต้องเป็นเรื่องของ windows แต่ในเครื่อง Linux / BSD ของฉันฉันปิดการใช้งาน swap ทุกรูปแบบเพราะมันไม่ดีและเมื่อสิ่งต่าง ๆ เริ่มใช้งานแทนที่จะใช้ขีด จำกัด แรง ๆ พวกมันก็ช้าลงทุกอย่าง
killermist

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