เกิดอะไรขึ้นกับข้อมูลที่สลับเมื่อคอมพิวเตอร์ของคุณจำศีล


12

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

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

ตัวอย่าง. คอมพิวเตอร์มี RAM 1GB และพื้นที่สลับ 1GB ปัจจุบันใช้ RAM ทั้งหมด แต่ 100MB และสลับเป็น 500MB ดังนั้นจึงจำเป็นต้องจำเกี่ยวกับหน่วยความจำ 1.4GB เพื่อบันทึกสถานะ อย่างไรก็ตามการสลับมีเพียง 1GB

จะเกิดอะไรขึ้นในกรณีนี้

~~ แก้ไข ~~

ตามคำตอบด้านล่างไฮเบอร์เนตล้มเหลว ดังนั้นคำถามติดตามผล:

เมื่อล้มเหลวรายงานข้อผิดพลาดอยู่ที่ไหน

คำตอบ:


11

ขึ้นอยู่กับการใช้งานของการจำศีล แม้ว่าคุณจะ จำกัด คำถามไว้เฉพาะกับ Linux แต่การใช้งานก็มีวิวัฒนาการตลอดเวลา

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

ประการที่สองบางระบบบีบอัดหน่วยความจำตามที่เขียนไว้ในการแลกเปลี่ยนซึ่งสามารถทำให้จำนวนที่แน่นอนของการแลกเปลี่ยนยากที่จะทำนาย การสนับสนุนการไฮเบอร์เนตของ Linux บางเวอร์ชันรองรับการบีบอัด ฉันไม่รู้ว่าคนปัจจุบันทำ

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


1
ฉันลองสิ่งนี้ในเครื่อง virtualbox และมันก็ล้มเหลวแม้ว่ามันจะไม่แสดงข้อความใด ๆ ให้กับผู้ใช้ (ฉันลองกับ Ubuntu 10.4) บันทึกของระบบใดที่จะมีรายงานข้อผิดพลาดนี้?
David Oneill

3
@ David: ควรมีบางสิ่งบางอย่างใน/var/log/kern.logนั้น ฉันไม่รู้ว่าการหายไปของข้อความบนคอนโซลเป็นสิ่งที่แปลกประหลาดของเคอร์เนลรุ่นนี้โดยเฉพาะหรือการกำหนดค่า Ubuntu โดยเจตนา (ฉันรู้ว่าพวกเขาได้ระงับการแสดงผลของคอนโซลอื่นอย่างจงใจ)
Gilles 'หยุดความชั่วร้าย'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.