web-dev-qa-db-ja.com

Mac OS Xは休止状態をサポートしていますか?

Windowsでは、コンピューターを休止状態にすることができるので、「休止状態」の間、エネルギーをまったく消費せずにはるかに速く起動します。

Mac miniでスリープするオプションが表示されますが、休止状態にはなりません。 Macは休止状態をサポートしていますか?

私はLeopardにいます。

40
AngryHacker

OS Xには「スリープ」オプションが1つだけあります。名前を変更することはできませんが、動作を変更するには、Mac miniで古いバージョンの SmartSleep を使用します(ただし、MacBookのような「スリープと休止」モードでは)。ウェブサイトはMacBookにのみ言及していますが、それはミニで動作します。

(2009年にこの記事を書いたとき、SmartSleepはまだ無料でした。)

ハードウェアが適切に取り外されていないという不満がときどきあります(ただし、OS Xからハードウェアに通知されないので、Time Machine USBディスクは正常に見えます—いつかログを確認する必要があります、これはSmartSleepではなくOS Xに関連していると思います)。

SmartSleepの「休止状態のみ」をそのmini(Intel、10.5を実行中)ですばやくテストしましたが、それでも動作するようです。これらのテストを行ったところ、ディスプレイが黒くなった後、電源ランプが数秒間(休止状態ではなくsleepを示すように)点滅し始めていることに気付きました。多分それはまだディスクにRAM=を書き込んでいます。(今まで、私はいつもMacBookでパルスがすべてが行われたことを示していると思っていました。しかし今は、どちらのスリープモードを使っていても電源をすぐに抜かないでください)しばらくすると、完全に電源が切れます。

2006年、Macworld explains SmartSleep設定ペインなしで同じことを実現する方法。現在の設定を確認するには:

pmset -g | grep hibernatemode

Macworldの古い記事によると、以下が適用されますしかし Lauriの回答を必ずお読みください 現在では、代わりに0、3、25のみを使用する必要があることを示唆しています

  • 0 —古いスタイルのスリープモード。RAMはスリープ中に電源がオンになり、安全なスリープは無効になり、超高速のスリープ解除が解除されます。
  • 1 —ハイバネーションモード、RAMの内容がディスクに書き込まれ、システムが「スリープ」の間は完全にシャットダウンし、RAM =オフのハードドライブ。
  • 3 — 2005年秋頃から導入されたマシンのデフォルトモード。RAMはスリープ中に電源が投入されますが、RAMの内容もスリープ前にディスクに書き込まれます。完全な電力損失が発生した場合、システムは自動的に休止状態モードに入ります。
  • 5 —これはモード1と同じですが、安全な仮想メモリを使用しているユーザー向けです([システム環境設定]"[セキュリティ])。
  • 7 —これはモード3と同じですが、安全な仮想メモリを使用するユーザー向けです。

また、同じ番号を使用してスリープモード設定を変更できます。

Sudo pmset -a hibernatemode 1
34
Arjan

私は(設定を永続的に変更せずに)すぐに休止状態に入ることができるスクリプトを書きました。デフォルトの設定が好きなので、とても便利ですが、外出中に強制的に休止状態にしたいと思います。多分他の誰かもそれが便利だと思うでしょう;-)

#!/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

メニューバーへの追加

このスクリプトをメニューバー( "systray")から呼び出す場合は、次のようにします。

  1. このスクリプトを適切な場所(/usr/local/sbin/など)に配置します。
  2. このスクリプトを呼び出すだけのAppleScriptを作成します。それを「休止状態」と呼ぶ
  3. 追加 your Appleスクリプトをメニューバーのアイコンとして

これで、メニューバー-> AppleScripts-> Hibernateをクリックしてスクリプトをトリガーできます。

11
oligofren

Pmsetのマニュアルページでは、25ではなく1を使用することも推奨しています。

0000 1000(ビット3)は、休止ページの前に非アクティブページをページアウトして、メモリフットプリントを小さくすることを動的ページャーに推奨します。

0001 0000(ビット4)は、動的ページャーがより小さなメモリフットプリントのために、休止状態になる前に積極的にページアウトすることを推奨します。

ハイバネーション設定を変更することはお勧めしません。行った変更はサポートされていません。とにかくそうする場合は、これら3つの設定のいずれかを使用することをお勧めします。あなたと私のために、他の0、3、25は使用しないでください。

[...]

hibernatemode = 25(バイナリ0001 1001)は、pmsetでのみ設定できます。システムはメモリのコピーを永続ストレージ(ディスク)に保存し、メモリへの電力を遮断します。システムはディスクイメージから復元します。 「休止状態」が必要な場合は、この設定を使用する必要があります。

一部のラップトップは、次の場合に通常のスリープから約1時間後に休止状態( スタンバイモード )に入ります。

  • Power Napが有効になっていません(デフォルトでは無効になっています)
  • コンピューターはバッテリーで動作しています
  • コンピューターがUSBデバイスまたは外部ディスプレイに接続されておらず、Bluetoothデバイスとペアリングされていない

ラップトップ、Mac mini、iMacは、オフまたは休止状態のときに約0.2〜0.4 W、スリープモードのときに0.8〜1.4 Wを使用します。ハイバネーション(およびラップトップがデフォルトで使用するハイバネーション+スリープモード)も ドライブの寿命を縮める の場合があります。

9
Lri

OS X Lionの場合、これは休止状態に適しています

Sudo pmset -a hibernationmode 25

より

Sudo pmset -a hibernationmode 1

hibernationmode 1は何らかの理由でクラッシュを引き起こす可能性があるため。

6
Willem

Pmsetを介して 'hibernatemode'をいじることに依存する回答の場合、pmsetの 'force'オプションが変更を一時的なものにすることに注意すると便利です。システムが休止状態から目覚めるとき、設定は記憶されません。例えば:

pmset -a hibernatemode 25 force

休止状態モードを変更して、従来の休止状態(つまり、システム状態がディスクに書き込まれ、電源が切断された状態)を表しますが、次にシステムの電源がオンになるまでのみor設定がディスクから読み取られます(pmset touch)。

Forceオプションを使用すると、現在のhibernatemode設定を保存して復元する必要がなくなります。

5
user210274

うん。安全な睡眠と呼ばれています。それを取得する最も簡単な方法は、 ディープスリープウィジェット を使用することです。

3
yanokwa

ノートパソコンのバッテリーが完全になくなると、休止状態も自動的にトリガーされます。

3
Bob D

すべてのIntel Macと一部の最新モデルのPowerPCマシンで「セーフスリープ」がデフォルトでオンになっていることを読みました(Intel miniはこのサポートを持っていると思いますが、PPCサポートされていないハッキング)。

しかし、「セーフスリープ」自体は「休止状態」とまったく同じではありません。これは、RAM=ディスクに保存するだけでなく、通常のスリープを実行することを組み合わせたものです。これにより、高速スリープ解除が可能になり、マシンのスリープ中に電源が完全に失敗した場合でもシステム状態が保持されます。

インストールされているRAMと同じサイズのファイル/ var/vm/sleepimageをチェックすることで、システムがセーフスリープを使用しているかどうかを確認できます(少なくとも1回のスリープ後)。また、セーフスリープがアクティブな場合、機械のステータスライトが通常のフェードアップ/フェードダウンループを開始する前に、[スリープ]メニュー項目(またはボタン、またはCommand-Option-Ejectを押したまま)をクリックするまでの遅延が長くなります。

解決策の最後のビットは、保存後にマシンの電源を完全にオフにすることですRAMスリープイメージ。コマンドラインプログラムpmsethibernatemodeを設定します Deep Sleep のようなものをチェックアウトして自動化できますこの構成を変更します。

2
Chris Johnsen