บังคับให้ MacBook Air ของฉันที่ใช้ USB ภายนอกเป็นไดรฟ์สำหรับบูตเพื่อไฮเบอร์เนต / หยุดการทำงานของดิสก์


9

มีคำถามหลายข้อเกี่ยวกับการจำศีล (ระงับดิสก์) แต่ส่วนใหญ่เกี่ยวข้องกับอายุการใช้งานของแบตเตอรี่และคำตอบมากมายโดยทั่วไปบอกว่าเพียงแค่ใช้ sleep (suspend to RAM) เพราะแบตเตอรี่จะดีกว่าที่คุณคิด คำตอบอื่น ๆ นั้นล้าสมัย

ฉันไม่ต้องการใช้ไฮเบอร์เนตเนื่องจากความกังวลเกี่ยวกับแบตเตอรี่ ฉันต้องการเพราะ SSD นั้นตายแล้วและฉันใช้ฮาร์ดไดรฟ์ USB 3 ภายนอกเป็นไดรฟ์สำหรับบูตของฉัน ฉันมีไดรฟ์นี้เพียงตัวเดียวเท่านั้น ไม่มีไดรฟ์ในตัวที่ใช้งานได้

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

ฉันได้อ่านแล้วว่า MacOS มีฮิวริสติกหลายอย่างเกี่ยวกับเวลาที่จะหยุดใช้งานดิสก์ (ไฮเบอร์เนต) แทนที่จะเป็น RAM (สลีป) และหนึ่งในนั้นคือว่าอุปกรณ์ USB ใด ๆ เสียบอยู่

ฉันมีsudo pmset -a hibernatemode 25แต่เมื่อฉันให้ Mac เข้าสู่โหมดสลีปในตอนนี้มันเริ่มต้นขึ้นทันทีเมื่อกดปุ่มหรือเสียบใน AC ซึ่งบอกฉันว่ามันไม่ได้หยุดทำงาน

มีวิธีระงับ MacBook ของฉันลงดิสก์จริง ๆ แล้วลบ HD ขนส่งทุกอย่างเสียบไดรฟ์กลับเข้าเครื่องปลุก Mac โดยไม่สูญเสียสิ่งที่ฉันทำในตอนนั้นหรือไม่

กลางปี ​​2013 11 "อากาศ / เซียร์รา 10.12.6


ผลผลิตของ sudo pmset -g assertions

2017-08-20 12:10:43 +1000 
Assertion status system-wide:
   BackgroundTask                 0
   ApplePushServiceTask           0
   UserIsActive                   1
   PreventUserIdleDisplaySleep    0
   PreventSystemSleep             0
   ExternalMedia                  1
   PreventUserIdleSystemSleep     1
   NetworkClientActive            0
Listed by owning process:
   pid 59(powerd): [0x0000004100088000] 39:29:46 ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 
   pid 251(mds_stores): [0x0001272e000ba305] 00:04:18 BackgroundTask named: "com.apple.metadata.mds_stores.power" 
   pid 114(hidd): [0x000100dd0009997a] 03:36:53 UserIsActive named: "com.apple.iohideventsystem.queue.tickle.4294967962.3" 
    Timeout will fire in 110 secs Action=TimeoutActionRelease
   pid 72(mds): [0x000126ae000ba2d1] 00:06:26 BackgroundTask named: "com.apple.metadata.mds.power" 
   pid 57(configd): [0x000122640007a186] 00:24:44 DenySystemSleep named: "InternetSharingPreferencePlugin" 
   pid 193(coreaudiod): [0x000122260001889a] 00:25:46 PreventUserIdleSystemSleep named: "com.apple.audio.AppleHDAEngineOutput:1B,0,1,1:0.context.preventuseridlesleep" 
    Created for PID: 438. 
Kernel Assertions: 0x4=USB
   id=503  level=255 0x4=USB mod=1/1/70, 10:00 am description=com.apple.usb.externaldevice.14500000 owner=BUP Slim Mac SL
Idle sleep preventers: IODisplayWrangler

คุณลองย้ายภาพสลีปไปยังไดรฟ์ภายนอกแล้วลบออกใน HD หรือไม่?
Ruskes

2
ผลลัพธ์คืออะไรpmset -g assertions
อัลลัน


1
@ Allan OP ของคำถามนี้กำลังมองหาการจำศีล (ไม่ใช่แค่หลับ) เพื่อให้ดิสก์ภายนอกสามารถถูกตัดการเชื่อมต่อในขณะที่อยู่ในโหมดไฮเบอร์เนต
grg

1
@hippietrail ดูเหมือนว่าจะแตกต่างกัน หน้าคนพูดว่า:GETTING -g (with no argument) will display the settings currently in use. -g live displays the settings currently in use. -g custom displays custom settings for all power sources. -g assertions displays a summary of power assertions. Assertions may pre- vent system sleep or display sleep. Available 10.6 and later.
FiddleDeDee

คำตอบ:


1

pmset พร้อม hibernatemode = 25 อาจใช้ได้

sudo pmset -a hibernatemode 25  #to change to "safe sleep", aka, hibernate
pmset sleepnow                  #to make it sleep now

และเพื่อนำกลับไปใช้โหมดแล็ปท็อป "ปกติ" ให้ใช้ sudo pmset -a hibernatemode 3

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