จะเกิดอะไรขึ้นถ้าเราลดขนาดของ hiberfil.sys


17

ฉันวันนี้ค้นพบว่าเราสามารถกำหนดขนาดของ hiberfil.sys โดยใช้powercfg -H -size 100%เครื่องมือบรรทัดคำสั่ง ละเว้นพื้นที่ที่ยากที่คุณจะได้รับสิ่งที่คนอื่นจะเปลี่ยนถ้าเราตั้งค่าให้powercfg -H -size 50%? มัน จำกัด การใช้ RAM สูงสุดถึง 50% หรือไม่? ระบบจะไม่จำศีลถ้าฉันมากกว่า RAM 50%?


2
ระบบจะขัดข้องด้วย bucheck นี้ ( msdn.microsoft.com/en-us/library/ff559341%28v=vs.85%29.aspx ) เมื่อ RAM ที่ใช้มีขนาดใหญ่กว่าไฟล์ hibernation สามารถเก็บได้
magicandre1981

คำตอบ:


21

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

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

ไวยากรณ์ที่ถูกต้องสำหรับคำสั่งปรากฏเป็น:

PowerCfg.exe /HIBERNATE /SIZE 75

เอกสารยังระบุด้วยว่าหากไฟล์การจำศีลมีขนาดเล็กเกินไปจะมี "Stop Error" เกิดขึ้นและรหัสจะแนะนำว่าคุณต้องเพิ่มขนาดไฟล์การจำศีลด้วยหรือไม่

การทำเช่นนี้จะไม่จำกัด จำนวน RAM จริงที่ระบบของคุณสามารถใช้ได้

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

จากเอกสารนั้น:

Windows ขอสงวนพื้นที่ดิสก์สำหรับการจำศีลในไฟล์ hibernation ซึ่งมีชื่อว่า Hiberfil.sys สำหรับ Windows 7 ขนาดเริ่มต้นของไฟล์ไฮเบอร์เนตเท่ากับ 75 เปอร์เซ็นต์ของหน่วยความจำกายภาพทั้งหมดในระบบ ตัวอย่างเช่นบนคอมพิวเตอร์ที่มี RAM 2 GB ขนาดไฟล์ไฮเบอร์เนตเริ่มต้นคือ 1.5 GB

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

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


2
ขอบคุณสำหรับคำตอบ. ฉันไม่รู้เกี่ยวกับเจ้าหน้าที่ที่เป็นทางการ แต่ทั้งคู่powercfg -H -size 100%และPowerCfg.exe /HIBERNATE /SIZE 75ทำงานอย่างถูกต้อง

1
ดูเหมือนว่าใน Windows 10 powercfgคำสั่งจะไม่รับ/SIZEอาร์กิวเมนต์อีกต่อไป- ไม่มีการบันทึกอย่างน้อยอีกต่อไป แต่จะไม่มีข้อผิดพลาดเกิดขึ้นหากคุณระบุ
martineau

ฉันพบว่าเวลาในการดำเนินการต่อจากการจำศีลเพิ่มขึ้นอย่างมากเมื่อฉันลดเปอร์เซ็นต์เป็น 60% (Windows 7 SP1) ฉันเป็นคนเดียวหรือไม่
deddebme

@ Smartineau เป็นไปได้อย่างสิ้นเชิงว่าเนื่องจากการปิดระบบไฮบริดใน Windows ขนาดของไฟล์ไฮเบอร์เนตได้ปรับตัวในแบบเดียวกันกับไฟล์สลับ ฉันไม่มีโอกาสตรวจสอบยกเว้นดูว่าไฟล์ไฮเบอร์เนตของฉันมีขนาดประมาณ 35% ของขนาด RAM ระบบของฉัน แต่ฉันไม่แปลกใจ
Mokubai

1
@intrepidis: ฉันรู้อย่างนั้น คุณรู้หรือไม่ว่าถ้าคุณเพิ่งใช้powercfg /?คุณจะได้รับการปฏิบัติต่อรายการพารามิเตอร์ที่เป็นไปได้ทั้งหมดอีกต่อไป ซึ่งหากคุณตรวจสอบพวกเขาในที่สุดคุณจะ (ไม่ได้เรียงตามตัวอักษร) ดูรายการ-HIBERNATE, -Hและนอกเหนือจาก-H <ON|OFF>นั้นก็จะยอมรับ-H -Size <PercentSize>ที่-Size Specifies the desired hiberfile size in percentage of the total memory. The default size cannot be smaller than 50. This switch will also enable the hiberfile automatically.- ซึ่งตรงกับเอกสาร MS ที่เชื่อมโยง
martineau

4

ไวยากรณ์ใน Windows 10 แตกต่างกันเล็กน้อย

PowerCfg /h[ibernate] off

จะปิดการจำศีลและลบไฟล์ C: \ hiberfil.sys

PowerCfg /h[ibernate] on

จะเปิดใช้งานฟังก์ชั่นอีกครั้งและสร้างไฟล์ C: \ hiberfil.sys ที่มีขนาดเท่ากันกับหน่วยความจำที่มีอยู่ (ระบบ RAM 16GiB จะสร้าง hiberfil.sys ขนาด 15.9GiB)

PowerCfg /h[ibrnate] size 75

จะสร้างไฟล์ hiberfil.sys หรือลดขนาดไฟล์ลงเป็นประมาณ 75% (12GiB)

PowerCfg /h size 100

มีผลเช่นเดียวกับการเปิดคุณสมบัติ

ค่าขนาดมากกว่า 100 ผลลัพธ์ในข้อความแสดงข้อผิดพลาดของพารามิเตอร์ขนาดที่เล็กกว่า 40 กำหนดขนาดที่มีประสิทธิภาพเป็น 40%

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