Różnica między autopoweroff i standby w pmset

27

Właśnie dostałem nową Retinę MacBook Pro 15 ". Po przerwaniu pobierania z powodu uśpienia komputera (nawet przy zasilaniu prądem przemiennym) zacząłem przeglądać stronę podręcznika użytkownika pmset. Rozwiązałem swój pierwotny problem ze snem, ale kilka opcji wzbudziło moje zainteresowanie. W szczególności oto opis autopoweroffustawienia ze strony man:

autopoweroff - tam, gdzie jest obsługiwany, domyślnie włączony jako implementacja części 6 europejskiej dyrektywy w sprawie produktów energetycznych. Po uśpieniu przez kilka minut autopoweroffdelay , system zapisze obraz hibernacji i przejdzie w stan uśpienia mikroukładu mocy. Budzenie z tego stanu potrwa dłużej niż budzenie z regularnego snu. System nie wyłączy się automatycznie, jeśli zostaną podłączone jakiekolwiek urządzenia zewnętrzne, system będzie zasilany z baterii lub jeśli system będzie połączony z siecią i nastąpi przebudzenie w celu uzyskania dostępu do sieci.

A potem jest standbytryb:

tryb gotowości powoduje, że zarządzanie energią jądra automatycznie hibernuje maszynę po tym, jak spała przez określony czas. Oszczędza to energię podczas snu. Domyślnie to ustawienie jest włączone dla obsługiwanego sprzętu. Ustawienie gotowości będzie widoczne w pmset -g, jeśli funkcja jest obsługiwana przez to urządzenie.

tryb gotowości działa tylko wtedy, gdy hibernacja jest włączona do hibernatemode 3 lub 25.

standbydelay określa opóźnienie (w sekundach) przed zapisaniem obrazu hibernacji na dysku i wyłączeniem pamięci dla trybu gotowości.

Teraz być może jestem gruby, ale obie opcje wydają się robić to samo. Główną różnicą, którą widzę, jest to, że standbywymaga określonego hibernatemode.

Konkretnie, sposób, w jaki chciałbym skonfigurować komputer, polega na tym, że hibernatemode 0podczas pierwszego zamykania pokrywy wykonuje tryb uśpienia tylko w pamięci RAM (dokładnie tak, jak robi to), dzięki czemu szybko przechodzi w tryb uśpienia bez natychmiastowego zapisywania zawartości pamięci RAM na dysku. Jeśli jednak zostawiam komputer w stanie uśpienia z zamkniętą pokrywą na określoną liczbę godzin (powiedzmy 4 godziny), chciałbym, aby tylko wtedy zapisał zawartość pamięci RAM na dysku i wyłączył komputer, aby oszczędzać baterię przypadek przedłużonego snu. Idealnie byłoby, gdyby druga część (zapisywanie pamięci RAM na dysku i wyłączenie zasilania) miała miejsce tylko wtedy, gdy komputer jest zasilany z baterii.

Rozumiem tutaj, że moim zdaniem powszechnym przypadkiem użycia snu jest zabranie komputera z domu do pracy iz powrotem, i nie ma sensu spowalniać procesu snu i marnować cykli zapisu SSD (a także spowalniać wybudzanie) proces, jeśli hibernacja), jeśli zamierzam go obudzić za mniej niż godzinę; a także, ponieważ czas, który spędza na spaniu, jest tak krótki, niewiele energii można by zaoszczędzić, wyłączając komputer na tak krótki czas.

W jaki sposób należy skonfigurować hibernatemode, autopoweroff, autopoweroffdelay, standbyi standbydelayopcje, aby osiągnąć to zachowanie?

świnie
źródło
Mam pytanie: na moim Macbooku pro 2015 (12,1) pmset -g pokazuje: autopoweroffdelay 14400 Nigdy go nie zmieniłem, więc jest ustawiony fabrycznie. Ale „man pset” pokazuje: autopoweroffdelay - opóźnienie przed przejściem w tryb autopoweroff. (Wartość = liczba całkowita, w minutach) Więc przy ustawieniu fabrycznym ustawionym na 14400, mój Mac nie przejdzie w tryb bezpiecznego przed ... 10 dni! Ciekawe, prawda?
Jestem ciekawy, jak rozwiązałeś problem z przerwaniem pobierania?
Dickster,

Odpowiedzi:

13

Funkcja automatycznego wyłączania jest również wspomniana w http://support.apple.com/kb/HT1757 :

Wraz z wydaniem dodatkowej aktualizacji 2.0 OS X Mountain Lion 10.8.2 wprowadzono nową funkcję umożliwiającą bezpieczny sen po czterech godzinach od podłączenia komputera do zasilania sieciowego. Jest to próba spełnienia europejskich norm energetycznych (ErP Lot6). Stanie się tak tylko wtedy, gdy nie będzie żadnej aktywności bezprzewodowej ani Ethernetowej ani żadnej aktywności z urządzeń zewnętrznych, takich jak urządzenia pamięci USB.

Jest to normalne zachowanie w przypadku następujących modeli:

  • MacBook Pro (połowa 2012 r. I później)
  • MacBook Pro (Retina, połowa 2012 r. I później)
  • MacBook Air (połowa 2012 r. I później)
  • iMac (koniec 2012 r. i później)
  • Mac mini (koniec 2012 i później)

Tryb gotowości opisano w http://support.apple.com/kb/ht4392 :

Komputery Mac, które mogą korzystać z trybu gotowości:

  • MacBook Pro (Retina, 13-calowy, koniec 2012 r.) I nowsze wersje
  • MacBook Pro (Retina, 15-calowy, początek 2013 r.) I nowsze wersje
  • MacBook Pro (Retina, połowa 2012 r.)
  • MacBook Air (połowa 2010 r.) I nowsze wersje
  • Wersje Mac mini (koniec 2012 r.) I dyski SSD i Fusion
  • Wersje iMaca na dyski SSD i Fusion (koniec 2012 r.) I nowsze

Komputery Mac wyprodukowane w 2013 roku lub później przechodzą w tryb gotowości po trzech godzinach „normalnego” snu. Wcześniej komputery aktywują się po nieco ponad godzinie „zwykłego” snu.

Aby przejść w tryb gotowości, komputer musi:

  • Działaj na zasilaniu bateryjnym (jeśli jest to komputer Mac).
  • Nie podłączaj żadnych urządzeń USB.
  • Nie podłączaj żadnych urządzeń Thunderbolt.
  • Nie wkładaj karty SD.
  • Nie podłączaj zewnętrznego wyświetlacza.
  • Komputer z całkowicie naładowanym akumulatorem może pozostawać w trybie gotowości nawet przez trzydzieści dni bez podłączenia do źródła zasilania prądem przemiennym.

Stan komputera jest zapisywany w pamięci flash (SSD), następnie zasilanie podsystemów sprzętowych wyłącza się, aby wydłużyć czas czuwania. Na przykład pamięć RAM i magistrala USB są wyłączone w trybie gotowości.

Tak więc tryb gotowości i automatyczne wyłączanie są obsługiwane przez różne modele komputerów Mac i są włączane w różnych warunkach. Tryb gotowości został wprowadzony w 2010 roku i początkowo był obsługiwany tylko przez MacBook Airs, ale teraz jest obsługiwany przez wszystkie nowe komputery Mac oprócz Mac Pro, iMac bez SSD i Mac mini bez SSD. autopoweroff został wprowadzony w 2012 roku i jest obsługiwany przez wszystkie nowe komputery Mac oprócz Mac Pro.

Nie wiem, czy stan bycia w trybie gotowości różni się od stanu automatycznego wyłączenia. Szary ekran z paskiem postępu jest wyświetlany, gdy komputer Mac budzi się z obu stanów.

Należy pamiętać, że Apple użył „bezpiecznego snu” w odniesieniu zarówno do trybu hybrydowego, jak i hibernacji, z którego domyślnie korzystają laptopy (jak w http://support.apple.com/kb/PH11096 ) oraz do stanu tylko hibernacji (jak w pierwszym bloku cytat powyżej).

Nawet jeśli ustawisz tryb czuwania na 0 i wyłączysz tryb gotowości i automatyczne wyłączanie, nie zmarnujesz tyle energii. Nowe laptopy zużywają około 0,7–1 W energii w trybie uśpienia i około 0,2–0,3 W, gdy są wyłączone lub w trybie hibernacji.

Lri
źródło
Więc wydaje się, że główną różnicą jest to, że autopoweroffdotyczy zasilania prądem przemiennym i standbyakumulatora? Myślę, że standbywtedy naprawdę potrzebuję trybu.
świnie
Mówiąc o marnowaniu energii, pomnóż swoje liczby przez liczbę laptopów na naszej planecie. Być może czegoś mi brakuje, ale dlaczego cokolwiek miałoby korzystać z energii „gdy jest wyłączone”?
eggyal
25

Próbowałem podsumować wszystkie ustawienia na zdjęciu.

W przypadku OS X 10.9 (byłoby trochę inaczej z nowszym systemem operacyjnym)

Tryb czuwaniaźródło

Powiedziałbym, że są tylko dwa „tryby”: uśpienie i hibernacja

  • Sleep : dane będą przechowywane w pamięci.
  • Hibernacja : (lub w trybie gotowości? SafeSleep? DeepSleep?) Dane będą przechowywane na dysku twardym i wymagają znacznie mniejszego zużycia energii.

Oto streszczenia mojego zrozumienia ...

  1. jeśli [sleep == 0] , komputer nie będzie już spał ani hibernował.
  2. jeśli [standby == 1] i [hibernatemode == 3] , komputer poczeka kolejne [standbydelay] minuty zanim naprawdę przejdzie w stan hibernacji.
  3. [autopoweroff] jest tylko dodatkową implementacją spełniającą wymagania regulacyjne i ma taki sam wpływ równoważny z 2)
  4. 2) lub 3) obowiązuje, jeśli jeden z nich zostanie osiągnięty na początku.
  5. jeśli [standby == 1] i [hibernatemode == 25] , komputer przejdzie w stan hibernacji natychmiast po minutach [uśpienia] .

Uwaga: w MacOS 10.13 autopoweroffdelayokreśla opóźnienie secondsprzed wejściem w autopowerofftryb.

Czy ktoś może przejrzeć i potwierdzić interpretację? dzięki

elgcom
źródło
1
Ten obraz jest niesamowity!
Andrea Bergonzo,
Świetny obraz! Wierzę, że autopoweroffdelay jest również w sekundach (patrz man pmset)
Zyphrax
man pmset -> autopoweroffdelay - opóźnienie przed przejściem w tryb automatycznego wyłączenia. (Wartość = liczba całkowita, w minutach)
elgcom
1
Zastanawiam się, czy sekundy / minuty różnią się w zależności od modelu. Moja strona podręcznika mówi: „autopoweroffdelay określa opóźnienie w sekundach przed przejściem do trybu autopoweroff”.
Kelvin
Świetna grafika! Ale żaden komentarz nie potwierdził tego wprost, a nie jak dotąd najlepsza głosowana odpowiedź. Gdyby to zostało potwierdzone, odpowiedź ta zasługiwałaby na najwyższą odpowiedź, ponieważ połączenie infografiki + wyjaśnienia sprawia, że ​​jest to najbardziej wydajna odpowiedź.
porg
12

Ta hibernacja / sen doprowadza mnie do szaleństwa. Zgadzam się, że Apple powinno włożyć więcej energii w naprawę tego zachowania.

Będę jasne. Uwielbiam tryb hibernacji i działał on doskonale w starszych modelach i systemach operacyjnych (wystarczyło samo uruchomienie sudo pmset hibernatemode 25). Teraz Apple coś zepsuło, a to po prostu nie działa od Yosemite.

Mam siatkówkę teraz i teraz bardziej niż kiedykolwiek opcja hibernacji ma o wiele większy sens niż sen. Nie rozumiem, dlaczego ludzie, którzy mają dyski SSD, tak bardzo śpią po hibernacji, po prostu nie rozumiem, że nie rozumieją różnicy czasu między hibernacją a snem wynoszą 1 sekundę, ale oszczędzają mnóstwo energii, ktoś mi wyjaśni, co widzą dużą zaletę, ponieważ nie rozumiem. W każdym razie (jeśli kochasz hibernację tak samo jak ja, kontynuuj czytanie) Chciałem, aby hibernacja działała. Zajęło mi kilka tygodni, aby to zadziałało i podzielę się z wami wszystkim tym, co zrobiłem.


Musisz najpierw zresetować SMC, a następnie NVRAM / PRAM:

Zresetuj SMC ( http://support.apple.com/kb/ht3964 ):

  1. Wyłącz komputer.
  2. Podłącz zasilacz MagSafe do źródła zasilania, podłączając go do komputera Mac, jeśli nie jest jeszcze podłączony.
  3. Na wbudowanej klawiaturze naciśnij jednocześnie klawisze Shift-Control-Option i przycisk zasilania (po lewej stronie).
  4. Zwolnij wszystkie klawisze i przycisk zasilania jednocześnie.
  5. Naciśnij przycisk zasilania, aby włączyć komputer.

Uwaga: Dioda LED na zasilaczu MagSafe może zmieniać stany lub tymczasowo wyłączać się po zresetowaniu SMC.

Resetowanie pamięci NVRAM / PRAM ( http://support.apple.com/kb/HT1379 ):

  1. Zamknij komputer Mac.
  2. Znajdź na klawiaturze następujące klawisze: Command, Option, P i R. W kroku 4 będziesz musiał przytrzymać te klawisze jednocześnie.
  3. Włącz komputer.
  4. Naciśnij i przytrzymaj klawisze Command-Option-PR, zanim pojawi się szary ekran.
  5. Przytrzymaj klawisze do momentu ponownego uruchomienia komputera i usłyszysz dźwięk uruchamiania po raz drugi.
  6. Puść klucze.

Teraz wykonaj te:

AC:

sudo pmset -c sleep 0
sudo pmset -c standby 0
sudo pmset -c standbydelay 5
sudo pmset -c hibernatemode 25

Bateria:

sudo pmset -b sleep 120
sudo pmset -b standby 1
sudo pmset -b standbydelay 5
sudo pmset -b hibernatemode 25

Wszystko:

sudo pmset -a acwake 0
sudo pmset -a lidwake 0
sudo pmset -a ttyskeepawake 0
sudo pmset -a darkwakes 0

Wszystko gotowe! Ustaw MacBooka w tryb uśpienia, a gdy go obudzisz, zobaczysz pasek postępu przed zakończeniem pracy komputera. Oznacza to, że MacBook hibernował! (uwaga: nienawidzę, że usunęli światło do spania z MacBooka Pro, co było bardzo przydatne)

pepeanto
źródło
To zadziałało dla mnie na
MacBooku
Czy hibernacji nie zastępuje autopoweroffaka głębokiego snu? A może mówisz, że to jest lepsze?
Mr. Boy
Myślę, że powodem, dla którego ludzie nie lubią hibernacji (przynajmniej przy automatycznym wyłączaniu), jest to, że zabija twoje karty Chrome, zabija twój serwer szyn / nodejs, zabija twoją reakcję natywną, po prostu niszczy twoją produktywność jako inżynier, który nie ma ich laptop włączony na noc.
Eric Goldberg,
Masz pomysł na które polecenie wyłączyć wybudzanie gładzika / klawiatury?
Rodrigo Polo
@EricGoldberg - Myślę, że mówisz o „przywróceniu systemu po ponownym uruchomieniu”, gdzie system uruchamia się normalnie i odtwarza wszystkie okna. Hibernacja to kolejny sposób na spanie na komputerze Mac, który zużywa znacznie mniej energii, ponieważ pamięć RAM jest zapisywana na dysku. Zobacz ostatnią sekcję strony DeepSleep, w tym wideo pokazujące różnice. Nie sugeruję tego narzędzia, chociaż na El Capitan 10.11 było dość wygodnie wybrać hibernację zamiast normalnego snu.
RichVel
1

Jest to dobra kompilacja i zestawienie dwóch trybów zarządzania energią: gotowości i autopoweroff, ale powyższe wnioski nie są całkowicie poprawne IMHO.

Mam MacBooka Pro 15 ”z połowy 2012 r. (Bez dysku SSD) i obsługuje on zarówno tryb gotowości, jak i automatyczne wyłączanie. Artykuły cytowane powyżej nie pokazują, że MacBook Pro w połowie 2012 roku obsługuje tryb gotowości; jednak poniżej znajduje się wyjście„ pmset -g cap ”na moim MacBooku Pro:

$ pmset -g cap
Capabilities for AC Power:
 displaysleep
 disksleep
 sleep
 womp
 acwake
 lidwake
 halfdim
 sms
 gpuswitch
 standby
 standbydelay
 ttyskeepawake
 hibernatemode
 hibernatefile
 autopoweroff
 autopoweroffdelay

Od Mountain Lion miałem różne problemy z zarządzaniem energią; Komputer przejdzie w stan hibernacji po przejściu w tryb uśpienia, więc zacząłem szukać polecenia „pmset”. Czasami wydawało się jednak, że hibernacja „autopoweroff” zostanie uruchomiona przez zegar „autopoweroffdelay”, ale hibernacja „standby” nie zostanie uruchomiona przez timer „standbydelay". Zarządzanie energią nigdy nie działało poprawnie od czasu Mountain Lion - nawet w Mavericks.

Właśnie przejrzałem dziennik polecenia pmset i wydaje się, że mój MacBook Pro został obudzony „Dark Wake” o 23:02 z powodu EC.ACAttach / Maintenance ”, a następnie ponownie o 3:32” z powodu Aktywność EHC1 / HID ”. Urządzeniem AHC1 / HID jest albo klawiatura Bluetooth Logitech, albo Magic Trackpad.

pmset -g stats

4/17/14, 7:06:08 PM EDT  Sleep                  Clamshell Sleep: Using BATT (Charge:99%)                                              
4/17/14, 7:06:11 PM EDT  SlowResponse           PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)                    3038 ms       
4/17/14, 7:06:34 PM EDT  Assertions             PID 33194(AddressBookSour) Released PreventUserIdleSystemSleep "Address Book Source Sync" 00:00:30  id:0x100000b31 [System: No Assertions]            
4/17/14, 7:06:34 PM EDT  Assertions             PID 172(UserEventAgent) Released BackgroundTask "com.apple.AddressBook.ScheduledSync" 00:00:30  id:0xc00000b32 [System: No Assertions]            
4/17/14, 7:06:36 PM EDT  Timedout               PMConnection: Response from CMacPowerHelper timed out (powercaps:0x0)                 27999 ms      
4/17/14, 7:06:36 PM EDT  WakeRequests           Clients requested wake events: None                                                   

4/18/14, 11:02:09 AM EDT                        Summary- [System: No Assertions] Using AC                                             
4/18/14, 11:02:14 AM EDT DarkWake               DarkWake [CDN] due to EC.ACAttach/Maintenance: Using AC (Charge:87%)        1 secs    
4/18/14, 11:02:14 AM EDT Timedout               Kernel: Response from Messages timed out (powercaps:0x9)                              30000 ms      
4/18/14, 11:02:14 AM EDT SlowResponse           Kernel: Response from powerd is slow (powercaps:0x0)                                  28003 ms      
4/18/14, 11:02:14 AM EDT Assertions             PID 16(powerd) Created InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:00  id:0xe00000b3f [System: PrevIdle SRPrevSleep kCPU]             
4/18/14, 11:02:15 AM EDT Wake                   DarkWake to FullWake [CDNVA] due to HID Activity: Using AC (Charge:87%)               
4/18/14, 11:02:17 AM EDT SlowResponse           PMConnection: Response from com.apple.notificationcenter.dnd is slow (powercaps:0x1f)             1536 ms       
4/18/14, 11:02:47 AM EDT Assertions             PID 33219(SubmitDiagInfo) Released PreventUserIdleSystemSleep "com.apple.SubmitDiagInfo.run" 00:00:36  id:0x100000b3e [System: PrevIdle BGTask SRPrevSleep kCPU]              
4/18/14, 11:02:59 AM EDT Assertions             PID 16(powerd) TimedOut InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:44  id:0xe00000b3f [System: PrevIdle BGTask SRPrevSleep kCPU]             
4/18/14, 11:02:59 AM EDT Assertions             PID 16(powerd) Released InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:44  id:0xe00000b3f [System: PrevIdle BGTask SRPrevSleep kCPU]             
4/18/14, 11:03:13 AM EDT Assertions             PID 33240(AddressBookSour) Released PreventUserIdleSystemSleep "Address Book Source Sync" 00:00:53  id:0x100000b5b [System: BGTask]           
4/18/14, 11:03:13 AM EDT Assertions             PID 172(UserEventAgent) Released BackgroundTask "com.apple.AddressBook.ScheduledSync" 00:00:53  id:0xc00000b5c [System: BGTask] 

4/19/14, 3:32:20 AM EDT  Wake                   Wake [CDNVA] due to EHC1/HID Activity: Using AC (Charge:99%)                7182 secs 

MacBook Pro nigdy nie wszedł w tryb „hibernacji”, ponieważ utrzymywałem timer „autopoweroffdelay” na domyślnej wartości 14400 sekund (4 godziny) zarówno dla zasilania bateryjnego, jak i sieciowego. Ręcznie ustawiłem „opóźnienie gotowości” na 28 800 sekund (8 godzin) dla zasilania bateryjnego i na 100 800 sekund (28 godzin) dla zasilania sieciowego. Jedynym sposobem, aby się upewnić, która opcja „hibernacji” się uruchamia - „autopoweroff” lub „standby” - jest ustawienie jednego z bardzo krótkich odstępów czasu - na przykład 1 godzinę po przejściu komputera Mac w tryb uśpienia. Następnie można zobaczyć, który tryb „hibernacji” spowodował, że komputer Mac przełączył się na „hibernację”.

Nie trzeba dodawać, że niedopuszczalne jest, aby Apple nie działało poprawnie od kilku lat. Funkcje obsługiwane przez polecenie „pmset” muszą zostać wyczyszczone, a obsługiwane opcje muszą być dostępne w GUI w Preferencjach systemowych.

użytkownik76158
źródło