O Mac OS X suporta a hibernação?

39

No Windows, você pode hibernar seu computador para que ele inicie muito mais rápido enquanto consome energia zero enquanto "hibernando".

Eu vejo uma opção para dormir no meu Mac mini, mas não hibernar. O Mac suporta a hibernação?

Estou no Leopard.

    
por AngryHacker 23.10.2009 / 01:59

8 respostas

33

O OS X possui apenas uma opção de "suspensão". Você não pode alterar seu nome, mas para alterar seu comportamento, eu uso uma versão antiga do SmartSleep em um Mac mini (embora em o modo "sleep & hibernate" semelhante ao MacBook. Ele funciona para um mini, embora o site se refira apenas aos MacBooks.

(SmartSleep ainda estava livre quando eu escrevi isso em 2009).

Ocasionalmente recebo reclamações sobre o hardware não ter sido removido corretamente (mas o OS X nunca me diz qual hardware, e meus discos USB do Time Machine parecem bem - eu deveria espiar os logs um dia, e Eu suponho que isso está relacionado ao OS X, não ao SmartSleep).

Eu rapidamente testei o "hibernate only" do SmartSleep nesse mini (Intel; rodando 10.5), e ele parece funcionar também. Ao fazer esses testes, notei que depois que a tela fica preta, a luz de energia começa a pulsar (como para indicar dormir em vez de hibernar) por alguns segundos. Talvez ainda esteja escrevendo RAM no disco. (Até agora, eu sempre achei que no meu MacBook a pulsação indicava que tudo estava terminado. Mas agora eu acho que, qualquer que seja o modo de sono que se esteja usando, provavelmente não se deve desligar a energia muito cedo). Depois de um tempo, ele desliga completamente.

Em 2006, o Macworld explica como conseguir o mesmo sem esse painel de preferências do SmartSleep . Para verificar a configuração atual:

pmset -g | grep hibernatemode

De acordo com o antigo artigo da Macworld, aplica-se o seguinte, mas não deixe de ler a resposta de Lauri que sugere que hoje em dia apenas 0, 3 e 25 devem ser usados :

  • 0 — Old style sleep mode, with RAM powered on while sleeping, safe sleep disabled, and super-fast wake.
  • 1 — Hibernation mode, with RAM contents written to disk, system totally shut down while “sleeping,” and slower wake up, due to reading the contents of RAM off the hard drive.
  • 3 — The default mode on machines introduced since about fall 2005. RAM is powered on while sleeping, but RAM contents are also written to disk before sleeping. In the event of total power loss, the system enters hibernation mode automatically.
  • 5 — This is the same as mode 1, but it’s for those using secure virtual memory (in System Preferences » Security).
  • 7 — This is the same as mode 3, but it’s for those using secure virtual memory.

E os mesmos números podem ser usados para alterar a configuração do modo de suspensão:

sudo pmset -a hibernatemode 1
    
por 29.10.2009 / 18:26
10

Eu escrevi um script que permite que você insira a hibernação imediatamente (sem alterar suas configurações permanentemente). Acho bastante útil, pois gosto das configurações padrão, mas quero forçar a entrada na hibernação quando estou viajando. Talvez outra pessoa também ache útil; -)

#!/bin/bash

# Utility to force your mac immediately into hibernation mode/suspend to disk,
# thus conserving battery considerably (at the cost of slower startup)
# @date 2012-02-10
# @author Carl-Erik Kopseng. Contact at oligofren.wordpress.com

# must be run as root by using sudo or to avoid entering the password, change the pmset
# executable settings by entering
# sudo chmod +s /usr/bin/pmset
# sudo chmod +s /sbin/shutdown

MODE_BACKUP=/tmp/hibernate_mode.bak
SUSPEND_TO_DISK=25 #see man pmset

display_settings() {
    echo "Current settings: " $(pmset -g | grep hibernatemode)
}

save_settings() {
    echo "saving settings"
    pmset -g | grep hibernatemode | awk '{print $2}' > $MODE_BACKUP
}

restore_settings() {
    echo "restoring settings"
    pmset -a hibernatemode $(cat $MODE_BACKUP)
}

set_only_disk_hibernate() {
    echo "changing settings to only suspend to disk (slow, but does not use battery)"
    pmset -a hibernatemode $SUSPEND_TO_DISK
}

hibernate() {
    echo "going into hibernation"
    shutdown -s now
}

save_settings
set_only_disk_hibernate && hibernate
restore_settings
    
por 10.02.2012 / 12:22
8

A página man do pmset também recomenda usar 25 em vez de 1 .

0000 1000 (bit 3) encourages the dynamic pager to page out inactive pages prior to hibernation, for a smaller memory footprint.

0001 0000 (bit 4) encourages the dynamic pager to page out more aggressively prior to hibernation, for a smaller memory footprint.

We do not recommend modifying hibernation settings. Any changes you make are not supported. If you choose to do so anyway, we recommend using one of these three set- tings. For your sake and mine, please don't use anything other 0, 3, or 25.

[...]

hibernatemode = 25 (binary 0001 1001) is only settable via pmset. The system will store a copy of memory to persistent storage (the disk), and will remove power to memory. The system will restore from disk image. If you want "hibernation" - slower sleeps, slower wakes, and better battery life, you should use this setting.

Alguns laptops agora entram em hibernação ( modo de espera ) após uma hora de sono normal se:

  • Power Nap não está ativado (por isso, não por padrão)
  • O computador está com energia da bateria
  • O computador não está conectado a dispositivos USB ou monitores externos e não está emparelhado com dispositivos Bluetooth

Laptops, Mac mini e iMacs usam cerca de 0,2 a 0,4 W quando desligados ou em hibernação e 0,8 a 1,4 W em modo de espera. A hibernação (e o modo de hibernação + suspensão que os laptops usam por padrão) também podem reduza a vida útil das unidades .

    
por 25.03.2013 / 17:55
6

E para o OS X Lion isso funciona melhor para a hibernação

sudo pmset -a hibernationmode 25

do que

sudo pmset -a hibernationmode 1

como o modo de hibernação 1 pode causar falhas por algum motivo.

    
por 08.06.2012 / 02:08
5

Para as respostas que dependem do 'hibernatemode' via pmset, é útil notar que a opção 'force' no pmset torna as mudanças transitórias. A configuração não será lembrada quando o sistema acordar da hibernação. Por exemplo:

pmset -a hibernatemode 25 force

Mudará o modo de hibernação para representar uma hibernação tradicional (ou seja, estado do sistema gravado no disco e energia removida), mas somente até a próxima vez que o sistema for ligado ou as configurações forem lidas do disco ( pmset touch ).

Usar a opção force evita a necessidade de salvar e restaurar as configurações atuais do hibernatemode.

    
por 25.03.2013 / 16:25
3

yup. é chamado sono seguro. A maneira mais fácil de obtê-lo é usar o widget de sono profundo .

    
por 23.10.2009 / 02:09
3

A hibernação também será acionada automaticamente se a bateria do seu laptop ficar completamente esgotada.

    
por 23.10.2009 / 02:11
2

Eu li que o "Safe Sleep" está ativado por padrão em todos os Macs Intel e algumas máquinas PowerPC (acho que o Intel mini tem esse suporte, mas o PPC provavelmente não - sem hacks sem suporte).

Mas "Safe Sleep" por si só não é exatamente o mesmo que "hibernação". É uma combinação de salvar a RAM no disco, mas também fazendo um sono normal. Isso permite um acionamento rápido e também preserva o estado do sistema se a energia falhar completamente enquanto a máquina estiver em repouso.

Você pode dizer se um sistema está usando o modo de espera segura por (após pelo menos um sono) a verificação de um arquivo / var / vm / sleepimage que é o mesmo tamanho que a RAM instalada. Além disso, quando a opção Suspensão Segura estiver ativa, haverá um atraso maior entre clicar no item de menu Suspender (ou no botão ou pressionar Opção de Comando-Ejeção) antes que a luz de status da máquina inicie seu ciclo normal de desvanecimento / atenuação. >

O último bit da solução é fazer com que a máquina desligue totalmente depois de salvar a memória RAM no sleepimage. Parece que é possível configurar isso usando o programa de linha de comando pmset para definir o hibernatemode . Você pode conferir algo como Deep Sleep para uma maneira automatizada de fazer essa alteração na configuração.

    
por 23.10.2009 / 02:46