เหตุใดคอมพิวเตอร์จึงช้ากลับมาจากโหมดไฮเบอร์เนต


22

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


1
คุณควรลองคอมพิวเตอร์ที่ใช้โซลิดสเตทไดรฟ์ (SSD) เช่น MacBook Pro เกือบจะทันทีแล้วเกือบตลอดเวลา
สจ๊วต

1
ดักจับการไฮเบอร์เนต / กลับสู่การติดตามด้วย xbootmgr และวิเคราะห์สิ่งที่ช้า: msfn.org/board/index.php?showtopic=140247
magicandre1981

ผมใช้จำศีลบนแล็ปท็อปของฉันทำงาน แต่เพื่อความเร็วขึ้นผมปิดแอพพลิเคครั้งแรกของฉัน (โดยใช้ยูทิลิตี้เล็ก ๆ ที่เรียก closeall ntwind.com/software/utilities/close-all.html )
มอร์แกนตัน

คำตอบ:


19

สาเหตุหลักคือดิสก์ I / O การอ่านและเขียนไปยังฟิสิคัลดิสก์นั้นช้ากว่าแรมมาก เมื่อคอมพิวเตอร์ของคุณดำเนินการต่อจากดิสก์ (ไฮเบอร์เนต) ก็จะต้องเปิดเครื่องส่วนประกอบซึ่งอาจทำให้การทำงานช้าลง สิ่งนี้ขึ้นอยู่กับคอมพิวเตอร์เป็นอย่างมาก SSD จะมีความเร็วในการทำงานต่อจากดิสก์เท่ากับ RAM คอมพิวเตอร์บางเครื่องให้คุณเลื่อนเมาส์ไปรอบ ๆ ก่อนที่ RAM จะเต็มอีกครั้งทำให้เวลาตอบสนองน้อย

หมายเหตุ: สมมติว่าคุณมี RAM 8GB และ SSD ที่มีความเร็ว 400MB / s มันจะยังคงใช้เวลา 8 * 1024MB / 400MB / s = 20.48s นี่ไม่ใช่ความเร็วเดียวกับที่ดำเนินต่อจาก RAM

สมมติว่าปริมาณงาน RAM ที่ 15,000MB / s เวลาดำเนินการต่อคือ 0.55 วินาที


5
Reading and writing to a physical disk is much slower than from RAM. ใช่ แต่การอ่านนั้นเร็วกว่าการเขียนดังนั้นทำไมจึงต้องใช้เวลาอ่าน HDD นานกว่าการเขียน?
Synetech

1
@Synetech มันคืออะไร? หากคุณเพียงแค่กำหนดเวลาจำศีลจากการกดปุ่มตัวเลือกไปยังหน้าจอ blanking (ตรงข้ามกับการหยุดการทำงานของไดรฟ์) ระบบปฏิบัติการอาจจะว่างเปล่าก่อนดังนั้นจึงดูเหมือนว่ามันจะไม่หยุดนิ่ง หากคุณกำลังวัดการปิดเครื่องผ่านเวลา IO มีความเป็นไปได้เล็กน้อย ด้วย SDD ฉันจะตรวจสอบเพื่อดูว่าไฟล์หน้ามีการแยกส่วนเพราะ SSD เร็วกว่าในการเขียนแบบสุ่มมากกว่าการอ่านแบบสุ่ม มิฉะนั้นฉันจะคาดเดาว่าการยกเลิกจะช้าลงเนื่องจากความล่าช้าในการรีสตาร์ทส่วนประกอบฮาร์ดแวร์บางอย่างที่ปิดไม่ได้เนื่องจากประสิทธิภาพของ IO
Dan Neely

@ แดนนี่จริงๆฉันรู้ว่าคุณหมายถึงอะไร ฉันมักจะรำคาญว่าเมื่อฉันคลิก Hibernate หน้าจอจะดับลงอย่างรวดเร็ว แต่ตัวไดรฟ์เองก็ยังคงตื่นเต้นอยู่พักหนึ่ง (มักจะมากกว่าหนึ่งหรือสองนาที) นี่เป็นเรื่องที่น่ารำคาญจริงๆเพราะคุณไม่สามารถหยิบแล็ปท็อปขึ้นมาแล้วโยนมันลงในกระเป๋าเพราะไดรฟ์ยังคงหมุนอยู่และมันจะเพิ่มโอกาสที่จะเกิดอาการปวดหัว อย่างไรก็ตามฉันก็รู้ว่าสิ่งใดที่กำลังพูดถึง บางครั้งการดำเนินการต่อจะใช้เวลานาน (Windows กลับมาทำงานได้ค่อนข้างเร็ว แต่ HDD LED ยังคงติดอยู่เป็นเวลานาน)
Synetech

@Synetech ยังมีอีกเหตุผลที่ต้องการให้ SSD มีราคาถูกพอที่จะเป็นสากล
Dan Neely

3

แม้ว่า RAM จะเร็วมาก แต่ฮาร์ดดิสก์ก็ตรงกันข้าม ลองนึกภาพคุณต้องคัดลอกเนื้อหา RAM ของคุณซึ่งอาจมีขนาดประมาณ 16 GB จากฮาร์ดดิสก์ นั่นคือดีวีดี 4 แผ่น ดู?


3

มันเป็นการแลกเปลี่ยน เราดึงทุกอย่างที่อยู่ใน RAM ก่อนที่จะจำศีลกลับจากดิสก์ไปยัง RAM ทั้งหมดในครั้งเดียวหรือเพียงเล็กน้อยครั้งละเท่าที่จำเป็น?

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

หากระบบปฏิบัติการดึงทุกสิ่งในครั้งเดียวจากนั้นการดำเนินการต่อจากโหมดไฮเบอร์เนตจะใช้เวลาหลายสิบวินาที แต่หลังจากนั้นระบบจะทำเช่นเดียวกับที่คุณไม่เคยจำศีลเลย

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

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


2

ฉันรู้คุณหมายถึงอะไร. ดูเหมือนว่า HDD LED จะกระพริบเป็นเวลานานหลังจากที่กลับมาทำงานจากโหมดไฮเบอร์เนต

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

เมื่อคุณไฮเบอร์เนต Windows จะล้าง RAM ในไดรฟ์ แม้จะมีความเร็วสูงสำหรับการอ่าน RAM และการเขียนลงดิสก์ (แม้จะมีไฟล์ไฮเบอร์เนตจัดเรียงข้อมูลบนไดรฟ์ขนาดใหญ่ที่ว่างเปล่า) ก็ยังคงใช้เวลาสักครู่ในการเขียนหลายกิกะไบต์ (คุณจะสังเกตเห็นว่าการจำศีลและกลับสู่ระบบ เร็วมาก) หน้าจอดับลงอย่างรวดเร็ว แต่ไดรฟ์ (และเมนบอร์ดแฟน ๆ ฯลฯ ) ทั้งหมดยังคงทำงานต่อไปจนกว่าจะเสร็จสิ้นการล้าง RAM ลงบนดิสก์ (อย่าลืมโยนแล็ปท็อปที่มี HDD ไปรอบ ๆ จนกว่าจะเสร็จสิ้นและปิดไดรฟ์โดยสมบูรณ์)

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

ทำไมจึงดูเหมือนว่าการดำเนินการต่อใช้เวลานานขึ้น มีสองคำอธิบายสำหรับเรื่องนี้

  1. มันเป็นเรื่องทางจิตวิทยา ดังที่แดนชี้ให้เห็นเนื่องจากหน้าจอจะดับลงทันทีเมื่อคุณจำศีลดูเหมือนว่าจะปิดตัวลงอย่างรวดเร็วในขณะที่คุณเห็นกระบวนการดำเนินการทั้งหมด (หน้าจอเปิดและไฟ LED HDD กะพริบ)

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

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

หากคุณเป็นผู้ใช้คุณสามารถค้นหา (อย่างน้อยในระบบของคุณ) สิ่งที่เป็นคอขวดโดยการทดสอบง่ายๆไม่กี่อย่างเช่นการใช้การตรวจสอบกระบวนการเพื่อสังเกตการทำงานของไดรฟ์ / ไฟล์ในขณะที่ Windows จำศีลและดำเนินการต่อ หวดเกิดจากการเข้าถึงหรือhiberfil.syspagefile.sys


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