linux下休眠/待機命令

linux下休眠/待機命令
2012-04-20 | 閱:627  轉:0  |  分享 
 
  
linux下休眠/待機命令
分類: linux 2011-03-07 10:21 2430人閱讀 評論(2) 收藏 舉報
if you
# cat /sys/power/state
mem disk
you can
echo “mem” > /sys/power/state 這相當於待機
echo “disk” > /sys/power/state 這相當於休眠
 
from http://linux.chinaunix.net/bbs/viewthread.php?tid=1057578
 
命令行中執行如下:
 
[root@fsc feng]# file /sys/power/state
/sys/power/state: ASCII text
[root@fsc feng]# cat /sys/power/state
standby mem disk
[root@fsc feng]# echo “mem”>/sys/power/state
/sys/power/state是個文本文檔,一個”mem”的導向就能使系統掛起到內存(待機)或硬盤(休眠),實在太神奇了,一定要深入學習瞭解一下其中原因!
 
—————————————–
 
關於Linux操作系統睡眠和休眠
from http://www.xxlinux.com/linux/article/accidence/technique/20080303/14073.html
 
在作之前,先檢查一下你的內核能支持哪些方式:
 
# cat /sys/power/state
 
standby disk
 
1. 睡眠 (sleep)
 
睡眠可能有兩種方式:mem和standby,這兩種方式都是suspend to RAM,簡稱STR,只是standby耗電更多一些,返回到正常工作方式時間更短一些而已。
 
只需要
 
# echo standby > /sys/power/state
 
就可以了。
 
2. 休眠 (hibernation)
 
休眠也有兩種方式:shutdown和platform。shutdown是通常的方式,比較可靠一些。如果你的系統上ACPI支持非常好,那就有機會支持platform方式。激活的方式稍有不同:
 
# echo platform > /sys/power/disk; echo disk > /sys/power/state
 
or
 
# echo shutdown > /sys/power/disk; echo disk > /sys/power/state
 
注意休眠有一個前提,就是在系統啓動時需要指定resume設備,也就是休眠的鏡像需要保存的分區。一般都用swap分區來做。
 
指定方式是:
 
kernel /boot/vmlinuz root=/dev/sda1 resume=/dev/sda2 vga=0×314 …
 
這樣在系統啓動時,內核會檢查resume中的內容,如果存在上次休眠的鏡像,那內核便會將鏡像讀入內存,恢復正常工作狀態。
 
—————————————-
 
Linux休眠和掛起(2008新版)
 
from http://blog.chinaunix.net/u/20515/showart_637851.html
 
Linux2.6內核已經有了非常多的變化,配置也要相應的改變
 
The only thing that not changes is Change:)
 
系統要求:
 
配置編譯內核: kernel2.6.22,2.6.24適用,最新內核未作測試
 
所需上層軟件: hibernate,hal,gnome-power-manager
 
 
 
測試環境:
 
系統: Debian lenny/sid
 
桌面:gnome2.22
 
機器:Thinkpad r40
 
 
 
操作細節:
 
1. 必需的內核選項:
 
Power Management support :
 
Suspend to Ram and Standby
 
Hibernate
 
()Default resume partition 
 
(如果有多個 swap 交換區,需要設定默認使用的swap。用 fdisk -l 確定)
 
ACPI Support
 
Future power /sys interface
 
AC adapter
 
Battery
 
Button
 
Fan
 
Processor
 
Thermal zone
 
 
 
 
Device driver
 
Block devices
 
Ram Disk support
 
 
 
編譯時一定要注意:使用initrd引導內核
 
 
 
2. 命令行工具hibernate
 
 
 
安裝 hibernate
 
sudo aptitude install hibernate
 
配置hiberante
 
sudo dpkg-reconfigure hibernate
 
主要是休眠喚醒密碼。
 
sudo hibernate-disk                // sleep ,系統內存映象將寫入 swap 區後關機
 
sudo hibernate-ram               // suspend ,就是掛起。
 
 
 
3.圖形界面下的工具
 
環境:gnome2.22
 
所需上層軟件:hal,gnome-power-manager
 
sudo aptitude install gnome-power-manager
 
將電源管理加到系統任務欄Panel。
 
 
 
到這裏root用戶已經可以使用鼠標實現掛起和休眠了
 
普通用戶使用休眠的關鍵:增加權限
 
最簡單安全的方法就是加入管理休眠的組group,他們是haldaemon,powerdev。
 
注意,haldaemon可能在你的機器上是hal,主要是hal版本新舊的原因。
 
加入以上兩個group,就可以很方便的使用電源管理了。
 
小結:
 
*linux 下suspend和hibernate模式可以隨意使用,不需要額外的配置,較爲方便。 而windows xp 只能是 sleep 模式,或者 suspend 模式,二者切換需要更新設置。
 
*linux裏涉及具體硬件的驅動太多,非常希望有一天它們能從內核裏抽象出來,放到Userspace裏。
 
 
 
 
 
待機與休眠的區別,待機(Suspend)是掛起到內存,關機後需要保持對內存供電,不能完全關閉電源,但是這種方式重啓動的速度最快。休眠(Hibernate)是掛起到硬盤,可以完全關閉電源。
 
如果是在用GNOME,在GNOME中, 打開 GNOME Terminal,輸入 gnome- 後 TAB 自動補全,果然發現一個命令:gnome-power-cmd,就是它了。
 
待機:$ gnome-power-cmd suspend
休眠:$ gnome-power-cmd hibernate
 
 
Linux實現待機和休眠
 
EVOC BIOS默認值是將ACPI打開APM關閉,測試時只針對ACPI兩種模式(sleep和hibernation)進行測試即可;
 
 
1. (sleep睡眠模式)即待機模式
 
以root用戶名登陸當前系統
 
 
 
1.1 查看當前內核能支持哪些睡眠模式:
 
# cat /sys/power/state
 
mem disk (內核只支持兩種睡眠模式)
 
 
 
1.2 鍵入命令:
 
# echo "mem" > /sys/power/state
 
 
 
1.3
 
按主板power鍵恢復(喚醒)至之前畫面
 
 
 
2. (hibernation休眠)
 
2.1 休眠默認支持兩種方式:shutdown和platform
 
2.4內核使用shutdown
 
2.6內核使用platform
 
 
 
2.2 休眠需指定resume設備,一般都用swap分區來做。
 
指定方式更改grub啓動給內核傳遞喚醒參數是:
 
#vi /etc/grub/grub.conf
 
grub配置:
 
# grub.conf generated by anaconda
 
# Note that you do not have to rerun grub after making changes to this file
 
# NOTICE: You do not have a /boot partition. This means that
 
# all kernel and initrd paths are relative to /, eg.
 
# root (hd0,4)
 
# kernel /boot/vmlinuz-version ro root=/dev/hda5
 
# initrd /boot/initrd-version.img
 
#boot=/dev/hda
 
default=0
 
timeout=5
 
splashimage=(hd0,4)/boot/grub/splash.xpm.gz
 
hiddenmenu
 
title Fedora Core (FC6-hibernation)
 
root (hd0,4)
 
kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet
 
initrd /boot/initrd-2.6.18-1.2798.fc6.img 
 
將kernel項更改爲:
 
kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet resume=/dev/hda6
 
保存,退出,重啓系統再以root用戶登錄
 
 
 
2.3 鍵入命令:
 
# echo platform > /sys/power/disk; echo disk > /sys/power/state
 
or # echo shutdown > /sys/power/disk; echo disk > /sys/power/state
 
進入休眠狀態10秒後,按power鍵進行喚醒。
 
 
 
參考資料:
 
http://www.linuxidc.com/Linux/2008-09/16074.htm
 
http://blog.csdn.net/hshl1214/article/details/6228
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章