การไฮเบอร์เนตควรจะเขียนเนื้อหา RAM ลงในดิสก์และการกลับมาจากโหมดไฮเบอร์เนตควรจะเติม RAM กลับคืนด้วยเนื้อหาที่บันทึกไว้ ทำไมการกลับมาจากการจำศีลช้าเช่นระบบไม่ตอบสนองเป็นเวลานาน
การไฮเบอร์เนตควรจะเขียนเนื้อหา RAM ลงในดิสก์และการกลับมาจากโหมดไฮเบอร์เนตควรจะเติม RAM กลับคืนด้วยเนื้อหาที่บันทึกไว้ ทำไมการกลับมาจากการจำศีลช้าเช่นระบบไม่ตอบสนองเป็นเวลานาน
คำตอบ:
สาเหตุหลักคือดิสก์ I / O การอ่านและเขียนไปยังฟิสิคัลดิสก์นั้นช้ากว่าแรมมาก เมื่อคอมพิวเตอร์ของคุณดำเนินการต่อจากดิสก์ (ไฮเบอร์เนต) ก็จะต้องเปิดเครื่องส่วนประกอบซึ่งอาจทำให้การทำงานช้าลง สิ่งนี้ขึ้นอยู่กับคอมพิวเตอร์เป็นอย่างมาก SSD จะมีความเร็วในการทำงานต่อจากดิสก์เท่ากับ RAM คอมพิวเตอร์บางเครื่องให้คุณเลื่อนเมาส์ไปรอบ ๆ ก่อนที่ RAM จะเต็มอีกครั้งทำให้เวลาตอบสนองน้อย
หมายเหตุ: สมมติว่าคุณมี RAM 8GB และ SSD ที่มีความเร็ว 400MB / s มันจะยังคงใช้เวลา 8 * 1024MB / 400MB / s = 20.48s นี่ไม่ใช่ความเร็วเดียวกับที่ดำเนินต่อจาก RAM
สมมติว่าปริมาณงาน RAM ที่ 15,000MB / s เวลาดำเนินการต่อคือ 0.55 วินาที
Reading and writing to a physical disk is much slower than from RAM.
ใช่ แต่การอ่านนั้นเร็วกว่าการเขียนดังนั้นทำไมจึงต้องใช้เวลาอ่าน HDD นานกว่าการเขียน?
แม้ว่า RAM จะเร็วมาก แต่ฮาร์ดดิสก์ก็ตรงกันข้าม ลองนึกภาพคุณต้องคัดลอกเนื้อหา RAM ของคุณซึ่งอาจมีขนาดประมาณ 16 GB จากฮาร์ดดิสก์ นั่นคือดีวีดี 4 แผ่น ดู?
มันเป็นการแลกเปลี่ยน เราดึงทุกอย่างที่อยู่ใน RAM ก่อนที่จะจำศีลกลับจากดิสก์ไปยัง RAM ทั้งหมดในครั้งเดียวหรือเพียงเล็กน้อยครั้งละเท่าที่จำเป็น?
เราทุกคนรู้ว่าการอ่านเซกเตอร์จากดิสก์หมุนวนนั้นใช้เวลาเท่ากันกับการเขียนเซกเตอร์นั้นไปยังดิสก์หมุนรอบเดียวกัน - เวลาค้นหา + หมุน ดังนั้นเราอาจคาดหวังว่าการเขียนข้อมูลจาก RAM ไปยังดิสก์ (ในโหมดไฮเบอร์เนต) จะใช้เวลาประมาณเดียวกับการอ่าน RAM เดียวกันจากดิสก์ (ดำเนินการต่อจากโหมดไฮเบอร์เนต) แต่มันไม่ได้เกิดขึ้นอย่างนั้นเพราะความต้องการการเพจ
หากระบบปฏิบัติการดึงทุกสิ่งในครั้งเดียวจากนั้นการดำเนินการต่อจากโหมดไฮเบอร์เนตจะใช้เวลาหลายสิบวินาที แต่หลังจากนั้นระบบจะทำเช่นเดียวกับที่คุณไม่เคยจำศีลเลย
โปรแกรมเมอร์ระบบปฏิบัติการมักจะเลือกเพจจิ้งความต้องการแทน กล่าวอีกนัยหนึ่งระบบปฏิบัติการดึงข้อมูลครั้งละเล็กน้อยจากดิสก์ตามต้องการ ที่มีความได้เปรียบที่ดำเนินการต่อจากโหมดไฮเบอร์เนตจะใช้เวลาน้อยลงก่อนที่จะเริ่มตอบสนองต่อแป้นพิมพ์และ mouseclicks ในทางกลับกันเมื่อคุณใช้บางสิ่งบางอย่างเป็นครั้งแรกหลังจากไฮเบอร์เนตจะมีความล่าช้าเล็กน้อย แต่ก็สังเกตเห็นได้ว่าในที่สุดระบบปฏิบัติการก็จะโหลดขึ้นมา ที่เกิดขึ้นแม้ว่า "ครั้งแรก" ที่คุณใช้บางสิ่งบางอย่างอาจจะหลายนาทีหลังจากจำศีล ดังนั้นหลังจากที่กลับมาทำงานจากโหมดไฮเบอร์เนต (เช่นหลังจากที่คุณเห็นหน้าจอที่ดูเหมือนจะเหมือนหน้าจอมากขึ้นหรือน้อยลงก่อนที่จะจำศีล) การทำงานกับเครื่องอาจดูเชื่องช้าอยู่พักหนึ่ง
ดังที่ซินเทคชี้ให้เห็นว่ามีจิตวิทยาของมนุษย์เข้ามาเกี่ยวข้องด้วยเนื่องจากหน้าจอจะปิดทันทีเมื่อเริ่มจำศีลดูเหมือนว่ามันจะปิดตัวลงอย่างรวดเร็ว และผู้ใช้สามารถดำเนินการต่อกับสิ่งอื่นที่คุณต้องการได้ทันที แต่หลังจากกลับมาทำงานจากโหมดไฮเบอร์เนตผู้ใช้พยายามทำบางสิ่งและความล่าช้าเล็กน้อยนั้นน่ารำคาญเพราะพวกเขาเข้าสู่สิ่งที่ผู้ใช้พยายามทำ
ฉันรู้คุณหมายถึงอะไร. ดูเหมือนว่า HDD LED จะกระพริบเป็นเวลานานหลังจากที่กลับมาทำงานจากโหมดไฮเบอร์เนต
มีการอธิบายที่สมเหตุสมผลเกี่ยวกับความล่าช้าเนื่องจากการเริ่มต้นฮาร์ดแวร์ (และการเร่งความเร็วไดรเวอร์) และการแตกแฟรกเมนต์ (คุณจะสังเกตเห็นว่าระบบใหม่จากโรงงานโดยทั่วไปจะจำศีลและกลับมาทำงานได้อย่างรวดเร็วในขณะที่ใช้งานชั่วคราว จะช้ากว่ามากในการทำเช่นนั้น) มีคำอธิบายเพิ่มเติมสำหรับพฤติกรรมนี้สองสามข้อ
เมื่อคุณไฮเบอร์เนต Windows จะล้าง RAM ในไดรฟ์ แม้จะมีความเร็วสูงสำหรับการอ่าน RAM และการเขียนลงดิสก์ (แม้จะมีไฟล์ไฮเบอร์เนตจัดเรียงข้อมูลบนไดรฟ์ขนาดใหญ่ที่ว่างเปล่า) ก็ยังคงใช้เวลาสักครู่ในการเขียนหลายกิกะไบต์ (คุณจะสังเกตเห็นว่าการจำศีลและกลับสู่ระบบ เร็วมาก) หน้าจอดับลงอย่างรวดเร็ว แต่ไดรฟ์ (และเมนบอร์ดแฟน ๆ ฯลฯ ) ทั้งหมดยังคงทำงานต่อไปจนกว่าจะเสร็จสิ้นการล้าง RAM ลงบนดิสก์ (อย่าลืมโยนแล็ปท็อปที่มี HDD ไปรอบ ๆ จนกว่าจะเสร็จสิ้นและปิดไดรฟ์โดยสมบูรณ์)
คุณสามารถทำการทดสอบทดลองเพื่อวัดเวลาที่ใช้ในการคลิกไฮเบอร์เนตจนกระทั่งระบบปิดและเวลาที่ใช้นับตั้งแต่วินาทีที่คุณเห็นหน้าจอWindows ที่กลับมาทำงานต่อจนกว่า HDD LED จะหยุดกระพริบ พวกเขาจะมีค่าเท่ากันโดยประมาณ (Windows พยายามทำให้ดูเหมือนว่าจะดำเนินการต่อจากการไฮเบอร์เนตอย่างรวดเร็วโดยการเขียนแล้วอ่านเคอร์เนลและเนื้อหาต่าง ๆ ไปยังไฟล์ไฮเบอร์เนตก่อนเพื่อให้สามารถสำรองข้อมูลและทำงานได้ทันทีจากนั้นโหลดต่อในส่วนที่เหลือ พื้นหลังและตามที่จำเป็นจนกว่าจะได้รับการดำเนินการต่อทั้งหมด - คุณสามารถเห็นพฤติกรรมนี้ในการดำเนินการเพราะหน้าจอเข้าสู่ระบบแสดงอย่างรวดเร็ว)
ทำไมจึงดูเหมือนว่าการดำเนินการต่อใช้เวลานานขึ้น มีสองคำอธิบายสำหรับเรื่องนี้
มันเป็นเรื่องทางจิตวิทยา ดังที่แดนชี้ให้เห็นเนื่องจากหน้าจอจะดับลงทันทีเมื่อคุณจำศีลดูเหมือนว่าจะปิดตัวลงอย่างรวดเร็วในขณะที่คุณเห็นกระบวนการดำเนินการทั้งหมด (หน้าจอเปิดและไฟ LED HDD กะพริบ)
มันเป็นเพจจิ้ง เนื่องจากคนส่วนใหญ่ใช้โหมดไฮเบอร์เนตแทนที่จะปิดเพราะพวกเขาต้องการหลีกเลี่ยงการออกจากโปรแกรมและเพื่อให้พวกเขาสามารถเลือกที่ที่พวกเขาค้างไว้ก็หมายความว่าเมื่อ Windows กลับมาทำงานต่อมีโปรแกรมมากมายที่ทำงานอยู่แล้ว เนื่องจากเวลาผ่านไปนานนับตั้งแต่ครั้งสุดท้ายที่ตัวจัดการหน่วยความจำของ Windows ตรวจสอบในระบบจึงมีแนวโน้มที่จะสิ้นสุดลงเนื่องจากการเปลี่ยนหน่วยความจำเป็นจำนวนมากตั้งแต่มุมมองของโปรแกรมบางโปรแกรมหยุดทำงานชั่วคราวและอื่น ๆ เปิดใช้งาน แน่นอนว่าการสลับสับเปลี่ยนนี้ใช้เวลาสักครู่และฟาดไดรฟ์บางครั้ง
ผลลัพธ์ที่ได้คือการรวมกันของปัจจัยและการโต้ตอบระหว่างการเปิดใช้งานฮาร์ดแวร์เพจจิ้งจิตวิทยาและการกระจายตัว
หากคุณเป็นผู้ใช้คุณสามารถค้นหา (อย่างน้อยในระบบของคุณ) สิ่งที่เป็นคอขวดโดยการทดสอบง่ายๆไม่กี่อย่างเช่นการใช้การตรวจสอบกระบวนการเพื่อสังเกตการทำงานของไดรฟ์ / ไฟล์ในขณะที่ Windows จำศีลและดำเนินการต่อ หวดเกิดจากการเข้าถึงหรือhiberfil.sys
pagefile.sys