ทำไม MacBook Pro ของฉันจะไม่หยุดทำงานโดยอัตโนมัติ


16

ฉันกำหนดให้ MacBook ของฉันเข้าสู่โหมดสลีปหลังจาก 2 นาทีในขณะที่ใช้แบตเตอรี่ (ผ่านบานหน้าต่างการตั้งค่า Energy Saver) อย่างไรก็ตามเมื่อฉันปล่อยให้เครื่องไม่ทำงานจะปิดหน้าจอเท่านั้น - มันไม่ได้นอนหลับจริง ซึ่งหมายความว่าถ้าฉันทิ้งไว้และลืมปิดฝามันจะจบลงด้วยแบตเตอรี่ที่ตายแล้วเสมอ

ระบบนอนหลับอย่างถูกต้องหากมีการเรียกใช้งานด้วยตนเอง ( - Sleep) หรือโดยการปิดฝา ฉันได้ทดสอบกับอุปกรณ์ USB ที่ไม่ได้เชื่อมต่อและในบัญชีผู้ใช้ใหม่ในโอกาสที่โปรแกรมพื้นหลังป้องกันการนอนหลับ ไม่มีข้อมูลที่เกี่ยวข้องพิมพ์ไปยังคอนโซลในขณะที่ระบบควรเข้าสู่โหมดสลีป

ฉันได้ทำการรีเซ็ต PRAM และ SMC เป็นประโยชน์ไม่ได้รวมถึงการตรวจสอบสิทธิ์ดิสก์ตามปกติ

มีอะไรอีกบ้างที่ฉันควรลองก่อนติดตั้ง OS X อีกครั้ง

นี่คือMacBookPro5,5ระบบปฏิบัติการที่ใช้งาน 10.6.6

เป็นที่น่าสังเกตว่าฉันได้รับความเดือดร้อนจากปัญหานี้เมื่อไม่นานมานี้เนื่องจากมีข้อบกพร่องในภูตผู้ช่วยสำหรับผลิตภัณฑ์สิ่งต่าง ๆแต่ปัญหานี้แตกต่างกันเล็กน้อยและเกี่ยวข้องกับการนอนหลับของจอแสดงผล นอกจากนี้ฉันได้ตรวจสอบแล้วว่าตัวช่วยภูตไม่ทำงานในระหว่างการทดสอบ

ข้อมูลเพิ่มเติม:

ฉันเริ่มทำงานผ่านเอกสาร Apple ที่มีชื่อว่า " ทำไม Mac ของคุณอาจไม่ได้หลับหรืออยู่ในโหมดสลีป " ฉันค้นพบว่าปัญหานี้ไม่ปรากฏขึ้นเมื่อฉัน Safe Boot คอมพิวเตอร์ ฉันdiffจะแสดงรายการกระบวนการและพบว่าโปรแกรมต่อไปนี้จะทำงานเฉพาะเมื่ออยู่ในการบูตปกติและทำให้ผู้กระทำผิดเป็นไปได้:

  • Quick Look Helper
  • cvmsComp_x86_64
  • kextcache
  • launchd
  • mdworker
  • mdworker
  • nmblookup
  • vmnet-bridge
  • vmnet-dhcpd
  • vmnet-dhcpd
  • vmnet-natd
  • vmnet-netifup
  • vmnet-netifup

ตรวจสอบให้แน่ใจว่าคุณตั้งค่า Computer Sleep และไม่แสดง Sleep ภาพถ่ายที่นี่: imgur.com/yVGb4.png
Nathan Greenstein

1
คุณสามารถลองตั้งค่า Display Sleep ให้เป็นบางสิ่งหลังจาก Computer Sleep ได้หรือไม่? บางทีเราจะพบข้อบกพร่อง สิ่งอื่น ๆ ที่อยู่ในใจ: บางทีสกรีนเซฟเวอร์ของคุณกำลังเปิดใช้งานและทำให้บางสิ่งบางอย่างจากการนอนหลับ (นี่อาจเป็นข้อผิดพลาด) ลองเปลี่ยนการตั้งค่าจนกว่าจะราบรื่น, Screen Saver, Display Sleep, Computer Sleep อย่างน้อยหนึ่งนาทีระหว่างแต่ละรายการ
Nathan Greenstein

1
บานหน้าต่างการตั้งค่าป้องกันคุณจากการตั้งค่า Display Sleep เป็นหลังจาก Computer Sleep ฉันลองพวกเขาเป็นทั้งสิ่งเดียวกันและแตกต่างกัน (คิดว่าในอดีตอาจมีข้อผิดพลาด) ฉันเพิ่งลอง Screen Saver, Display Sleep และ Computer Sleep ด้วยเวลาระหว่างพวกเขา แต่ไม่มีลูกเต๋า
Phil Calvin

1
@ Martin Wickman: ฉันอาจจะแก้ไขปัญหานี้ได้ ฉันมีพื้นที่ว่างน้อยกว่า 5% ในโวลุ่มระบบของฉันซึ่งถูกบันทึกลงในบันทึกของระบบ (แต่ไม่ใช่ในลักษณะที่ทำให้ชัดเจนว่ามีความสัมพันธ์) การเพิ่มพื้นที่ 50GB แก้ปัญหาได้ คุณมีพื้นที่ว่างเหลือน้อยหรือไม่?
Phil Calvin

1
ฉันเพิ่งค้นพบว่าข้อมูลpmset -g assertionsใดบ้างที่แสดงให้เห็นว่ากระบวนการใด (หรือบางอย่าง) ป้องกันการนอน ลองดูสิ
Martin Wickman

คำตอบ:


5

เพื่อช่วยแก้ปัญหาการนอนหลับให้ลองpmsetคำสั่งใน terminal:

$ pmset -g assertions

Assertion status system-wide:
   ChargeInhibit                           0
   PreventUserIdleDisplaySleep             0
   PreventUserIdleSystemSleep              1
   NoRealPowerSources_debug                0
   CPUBoundAssertion                       0
   EnableIdleSleep                         1
   PreventSystemSleep                      0
   DisableInflow                           0
   DisableLowPowerBatteryWarnings          0
   ExternalMedia                           0

Listed by owning process:
  pid 2520: [0x0000012c000009d8] PreventUserIdleSystemSleep named: "com.apple.audio.'AppleHDAEngineOutput:1B,0,1,2:0'.noidlesleep" 

ในกรณีนี้มันเป็นกระบวนการ 2520 ที่ทำให้สับสน ตรวจสอบมันในการตรวจสอบกิจกรรมและฆ่ามัน (/ usr / sbin / coreaudiod เริ่มต้นโดย iTunes)

หลังจากนั้นให้รันคำสั่งอีกครั้ง:

Assertion status system-wide:
   ChargeInhibit                           0
   PreventUserIdleDisplaySleep             0
   PreventUserIdleSystemSleep              0
   NoRealPowerSources_debug                0
   CPUBoundAssertion                       0
   EnableIdleSleep                         1
   PreventSystemSleep                      0
   DisableInflow                           0
   DisableLowPowerBatteryWarnings          0
   ExternalMedia                           0

ไม่มีแฟล็กสำหรับ PreventUserIdleSystemSleep


นี่คือการใช้ที่ยอดเยี่ยมของpmsetฉันไม่รู้เกี่ยวกับ ขอขอบคุณที่แจ้งเรื่องนี้ให้ฉันทราบ
Phil Calvin

คุณจะทำอย่างไรหากกระบวนการไม่ทำงานและPreventUserIdleDisplaySleepยังคงตั้งค่าเป็น 1
Abhi Beckert

4

ฉันมีปัญหาเดียวกันกับ MacBook Pro 3,1 ของฉัน มันน่าผิดหวังอย่างมาก ฉันไปจนถึงการติดตั้ง OS X ใหม่ซึ่งไม่สามารถแก้ไขปัญหาได้ สิ่งนี้ทำให้ฉันเชื่อว่าอาจเป็นปัญหาฮาร์ดแวร์ในกรณีของฉัน

ฉันได้รับขึ้นในการแก้ปัญหาและเพียงแค่ใช้PleaseSleep

PleaseSleep เป็นซอฟต์แวร์ยูทิลิตี้ที่ออกแบบมาสำหรับ Mac OS X ที่ช่วยให้คอมพิวเตอร์ของคุณเข้าสู่โหมดสลีปเมื่อคุณรู้ว่ามีแอปอื่น ๆ ที่ทำให้ Mac ของคุณไม่เข้าสู่โหมดสลีป

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


นี่น่ากลัว! หากฉันไม่สามารถหาวิธีแก้ปัญหา "ของจริง" ฉันจะลองใช้ผลิตภัณฑ์นี้และยอมรับคำตอบของคุณ อย่างไรก็ตามฉันหัวแข็งและยังไม่ยอมยอมแพ้ =)
Phil Calvin

ใช้งานไม่ได้กับ 10.8
sorin

3

ในที่สุดฉันก็มีระบบของฉันที่ไม่ได้ใช้งาน - นอนอีกครั้ง ฉันเปลี่ยนสามสิ่งเพื่อให้ถึงจุดนี้ซึ่งฉันเชื่อว่าเป็นผู้มีส่วนร่วม:

  • ฉันมีพื้นที่ดิสก์เหลือน้อย (น้อยกว่า 5%) ในโวลุ่มหลักของฉัน เคอร์เนลกำลังบ่นเรื่องนี้ถึงsystem.log(ดูได้ใน Console.app) เกี่ยวกับเวลาที่ควรจะนอน

  • ฉันปิดการใช้งาน Dropbox ซึ่งเข้าถึงดิสก์บ่อยครั้งและน่าสะพรึงกลัวและมีการรายงานเพื่อป้องกันการสลีปใน Snow Leopard

  • ผมปรับรุ่นจากโครเมี่ยมเก่าเปิ่นคืนและฉันตอนนี้บน11.0.658.0 (73,560) มีข้อบกพร่องหลายอย่างที่เปิดเกี่ยวกับ Chrome / Chromium นี้ป้องกันการนอนไม่ได้ใช้งาน อย่างไรก็ตามฉันค้นพบสิ่งนี้หลังจากทำให้ระบบไม่ได้ใช้งานโหมดสลีปหลังจากรีบูตโดยไม่มีโปรแกรมที่ทำงานอยู่

การสังเกตทางเทคนิคมีดังนี้:

เป็นที่น่าสังเกตว่าบานหน้าต่างการตั้งค่าตัวประหยัดพลังงานอยู่เล็กน้อย ฉันได้ตั้งค่าให้เข้าสู่โหมดสลีปแล้วปิดหน้าจอหลังจาก 1 นาที แต่ระบบไม่ได้เข้าสู่โหมดสลีปเป็นเวลา 3 นาทีและ 30 วินาทีจริง ๆ ให้หรือใช้เวลาสองสามวินาทีเพื่อเขียนภาพ Safe Sleep จริง ๆ แล้วหน้าจอใช้เวลา 2 นาทีในการเข้าสู่โหมดสลีป ฉันสงสัยว่านี่เป็นกรณีของ Apple ที่รู้ดีกว่าเรา - 1 นาทีอาจเร็วเกินไป ไม่ว่าจะเป็นการแก้ปัญหาแบบนี้หรือไม่เนื่องจากคุณต้องรอนานกว่าที่ระบุเพื่อดูว่าระบบเข้าสู่โหมดสลีปจริงหรือไม่

แอพพลิเคชั่นทั้งสองนี้เป็นผู้มีส่วนร่วมแม้จะไม่ได้ทำอะไรเป็นพิเศษโดยเฉพาะแสดงให้เห็นว่า Snow Leopard เปลี่ยนแปลงบางอย่างเกี่ยวกับวิธีการที่ระบบตัดสินใจว่าจะเกิดการไม่ทำงานของสลีปหรือไม่ มีAPI ที่ทำเป็นเอกสารสำหรับการปิดใช้งานสลีปที่ไม่ได้ใช้งาน แต่ก็ยังปรากฏว่ากิจกรรมของดิสก์ (โดยเฉพาะเขียน) มากกว่าหนึ่งนาทีต่อนาทีจะรีเซ็ตตัวจับเวลาสลีปและทำให้การสลีปล่าช้า แอปพลิเคชันใด ๆ ที่เขียนบ่อย ๆ จึงเป็นสาเหตุที่เป็นไปได้ sudo fs_usage -e grep -f filesys | grep -e writeในหน้าต่างเทอร์มินัลสามารถช่วยเปิดเผยผู้ร้าย


1
การใช้คำสั่งที่นี่น่าจะเป็น: sudo fs_usage -e grep -f filesys | grep write หากไม่มี -e มันก็จะอาเจียน grep เขียนขึ้นมา ไม่เป็นประโยชน์
โดมินิก Hopton

! ที่น่าสนใจ ไม่มีอาการอาเจียนเกิดขึ้นเมื่อฉันทำการทดสอบเรื่องเสือดาวหิมะ แต่มันทำกับสิงโต แก้ไขแล้ว.
Phil Calvin

มีเธรดยาวพอสมควรในฟอรัมสนทนาของ Apple ที่แนะนำให้ Lion แนะนำปัญหาการนอนหลับที่เป็นไปได้ใหม่ ๆ ที่เกี่ยวข้องกับเครื่องพิมพ์และเครือข่ายที่ใช้ร่วมกัน มีหลายสิ่งที่จะลองทำถ้าคุณเป็นอย่างปลายปัญญา
Phil Calvin

0

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


ฉันปิดใช้งานการทำดัชนีโดยใช้mdutil -a -i offแต่ปัญหายังคงอยู่ โปรดแจ้งให้เราทราบหากสิ่งนั้นไม่เทียบเท่ากับข้อเสนอแนะของคุณ
Phil Calvin

ฉันไม่รู้ว่ามันใช้งานได้เหมือนกันหรือไม่ แต่มันรวดเร็วในการทดสอบดังนั้นทำไมไม่ลองตามที่อธิบายไว้?
conorgriffin

คุณมี Skype ไหม
Martin Marconcini

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