Suspend 절전 모드에서 벗어날 때 freeze되어 버리는 이유가 뭘까요?

모두들 안녕하시지요?
저는, 새 노트북을 사서 그래픽 모드로 고생 고생하다가 간신히 해결하고
요즘은 그럭 저럭 잘 사용하고 있습니다.

그런데 늘 고민이 있습니다.
혹시 실수로(?) 덮개를 덮어 두었다가 다시 열면, 화면이 켜지는 듯하다가 그냥 멈춰버리고 맙니다.
램이 8기가나 되고, 여기에다 스왑파일도 8메가 정도나 정했다면 그런 일이 없을 것 같은데 말입니다.

혹시나 하고 인터넷을 뒤적거리다가 다음과 같은 명령어를 발견하고 실행해 보니 이런 메시지가 뜨네요.
여러분은 이런 경우 어떻게 해결하시나요?

[quote:36xqmln7]choi@myHP:~$cat /sys/power/state
freeze mem disk
choi@myHP:~$
[/quote:36xqmln7]
또 한 가지 … 구글 어스를 실행하면 실행되는 첫 화면(구글어스라고 써 있는 조그만 사각형)이 잠시 나타났다 사라집니다.
이유는 모르겠습니다. 홈 폴더 밑의 .googleearth 폴더를 지우고 실행해도 마찬 가지입니다.

아, 그리고 …
… 이건 엄청 지독한 불만 사항 !!!
도대체 이 커뮤니티 사이트는 페이스북의 한국우분투사용자모임 싸이트 같지 않고
왜 이렇게 열리는 데 시간이 오래 걸리는 것일까요?
혹시 홈페이지 자체가 내게 권태감을 느끼고 있는 것은 아닌지…
혹시 해외에서 산다고 은근히 날 무시하고 있는 것인지?
디비를 샅샅이 싹 디벼 봐야 정체를 알 수 있는 것인지…
으이그… 그래서 독한 마음으로 여기에 글을 써 봅니다.
페이지 양~ 제발 해외에서도 잘 열리거랑~~~~

[quote="cklove":2imhqbj9]
choi@myHP:~$cat /sys/power/state
freeze mem disk
choi@myHP:~$
[/quote:2imhqbj9]

저의 경우는 freeze standby mem disk 이렇게 나오네요.
여기서 나오는건 전원 설정 모드라고 보시면 됩니다.
여기서의 freeze는 하드웨어 지원이 되지 않더라도, 저전력으로 사용할 수 있게, 소프웨어적으로 처리하는 것을 말합니다.
mem은 아마도, supend-to-ram을 지원하는 것으로, suspend의 지원이고,
disk는 suspend-to-disk 즉, hibernate의 지원입니다.
다만, suspend-to-ram 과 supend-to-disk가 모두 된다고 해서 suspend-hybrid가 되는 것은 아니죠.
추가로, stanby는 ACPI에서 장치들이 지원해야 하는 모드 중 D1에 해당합니다. (D0:켜짐 D1/D2:중간전력 D3:꺼짐)
D1는 하드웨어적으로 정의되기 때문에, 컴퓨터마다, 장치마다 지원이 다를 수 밖에 없습니다.

[url:2imhqbj9]http://www.mjmwired.net/kernel/Documentation/power/states.txt[/url:2imhqbj9]

그리고, 지원하는 pm-action은
pm-is-supported --suspend-hybrid && echo ok
이런식으로 확인이 가능합니다.

예를 들어, 최대절전모드로 전환 후, 바로 리부팅하시려면…
echo "reboot" | sudo tee /etc/power/disk
sudo pm-hibernate 하시면 됩니다.

오류가 나는 것은 로그를 살펴보셔야 할 것 같습니다.
/var/log/pm-*.log{,.?} 파일과 /var/log/syslog {,.?} 파일들을 살펴보세요.

그리고, 부트파라미터의 acpi와 apm설정들과 관계가 됩니다.

안녕하세요, 금세 답글을 주셨네요?
그런데, 저에게는 조금 어려운 설명 같아요.
어쨌든 이렇게 상세하게 설명해 주셔서 감사합니다.

[quote="cklove":2w80yng3]

[quote:2w80yng3]choi@myHP:~$cat /sys/power/state
freeze mem disk
choi@myHP:~$
[/quote:2w80yng3][/quote:2w80yng3]

제 견해로는 swap 영역이 작아서 생기는 문제처럼 보입니다.

참고로 위의 명령은 system에서 지원하는 ACPI의 S0~S5 mode를 보여주라는 의미입니다.
보통 일반 사용자들이 말하는 절전모드는 위의 목록 중 mem(S3)입니다. 이는 main memory의 전원만 유지한 채 나머지 device들의 전원을 내리는 것입니다.
disk(S4)의 경우 일반적으로 최대절전모드라고 말하는 hybernation입니다. Main memory의 data들을 HDD/SSD에 저장하고 모든 device의 전원을 내리는 것입니다.

먼저 뚜껑을 닫을때, 전원을 어떻게 처리하고 있는지 봐야겠네요.

[code:zllrqci5]gsettings list-recursively org.gnome.settings-daemon.plugins.power|grep lid[/code:zllrqci5]
hibernate로 나오면, 최대절전 모드고,
suspend로 나오면, 절전모드입니다.

suspend로 동작시에는, suspend-to-ram으로 되어, 메모리 전원을 유지한 채, 장치들의 전원이 꺼집니다.
그래서 뚜껑을 열면, 바로 복원됩니다.
이 과정에서 얼어버리는 것이라면, 부트옵션과 장치호환성을 정검할 필요가 있겠죠.

hibernte로 동작시에는, 메모리상태를 하드디스크에 저장하고, 모든 전원이 꺼집니다.
뚜껑을 열때, 다시 부팅되며, 부팅시, 메모리상태가 디스크에서 읽혀지고, 복원됩니다.
그래서 이 경우, 초기 부팅화면이 나올 수 있고, 디스크에서 메모리로 읽어 들이는 시간이 소요됩니다.
이 과정에서 얼어버리는 것이라면, 스왑공간과 밀접한 관계가 있습니다.
최소 스왑공간은 메모리 총량 보다 커야하고, 대체적으로 1.5배이상 되는 것이 좋습니다.

말씀하신대로 해 보니 이렇게 나오네요.

[quote:1x1chqip]choi@myHP:~$ gsettings list-recursively org.gnome.settings-daemon.plugins.power|grep lid
org.gnome.settings-daemon.plugins.power lid-close-suspend-with-external-monitor false
org.gnome.settings-daemon.plugins.power lid-close-ac-action ‘suspend’
org.gnome.settings-daemon.plugins.power lid-close-battery-action ‘suspend’
choi@myHP:~[/quote:1x1chqip]

그럼, 스왑을 12기가 이상 잡아야 한다는 이야기인가요? 후앗!

action이 suspend로 되어 있군요.
그렇다면, 기본적으로 pm-suspend가 불려질 것입니다.
하드웨어의 호환성을 먼저 점검해 보세요.
예를 들어 efi를 사용 중이시면, 바이오스 설정에서 efi관련 설정을 확인해 보시구요, 기타 전원 설정도 살펴보세요.
바이오스 설정을 만지작 거려도 안된다면…
로그를 확인해보시는게 좋습니다.