詳細(xì)剖析Linux睡眠休眠狀態(tài)
Linux睡眠休眠能否像我們常用的windows系統(tǒng)提供睡眠和休眠狀態(tài)。在Linux睡眠休眠中,睡眠有兩種方式:mem和standby,休眠也有兩種方式:shutdown和platform。每種方式都會有些不同。
在作之前,先檢查一下你的內(nèi)核能支持哪些方式:
# cat /sys/power/state
standby disk
Linux睡眠休眠:1. 睡眠 (sleep)
睡眠可能有兩種方式:mem和standby,這兩種方式都是suspend to RAM,簡稱STR,只是standby耗電更多一些,返回到正常工作方式時間更短一些而已。
只需要
# echo standby > /sys/power/state
就可以了。
Linux睡眠休眠2. 休眠 (hibernation)
休眠也有兩種方式:shutdown和platform。shutdown是通常的方式,比較可靠一些。如果你的系統(tǒng)上ACPI支持非常好,那就有機(jī)會支持platform方式。激活的方式稍有不同:
# echo platform > /sys/power/disk; echo disk > /sys/power/state
or
# echo shutdown > /sys/power/disk; echo disk > /sys/power/state
注意休眠有一個前提,就是在系統(tǒng)啟動時需要指定resume設(shè)備,也就是休眠的鏡像需要保存的分區(qū)。一般都用swap分區(qū)來做。
指定方式是:
kernel /boot/vmlinuz root=/dev/sda1 resume=/dev/sda2 vga=0x314 ...
這樣在系統(tǒng)啟動時,內(nèi)核會檢查resume中的內(nèi)容,如果存在上次休眠的鏡像,那內(nèi)核便會將鏡像讀入內(nèi)存,恢復(fù)正常工作狀態(tài)。
【編輯推薦】