일시 중단 문제를 디버깅하는 방법은 무엇입니까?


11

이전에이 HP Compaq 610에 Fedora 14를 설치했으며 일시 중단 기능이 제대로 작동했습니다. 이제 Scientific Linux 6.1 일시 중단이 설치되어 더 이상 작동하지 않습니다. 어떻게 디버깅 / 수정합니까?


쉘이 일시 중단 (<kbd> Cntl-z </ kbd>) 또는 OS (절전 또는 최대 절전 모드)입니까?
Arcege

@Arcege : 요즘 ACPI가 일반적인 문제가되고 있기 때문에 ACPI가 일시 중단되었다고 가정합니다.
JM Becker

답변:


9

일시 중단 및 최대 절전 기능을 처리하는 방법에는 여러 가지가 있으며, 기존의 많은 방법은 더 이상 사용되지 않습니다. 모든 솔루션이 다음 솔루션과 완전히 관련이없는 것처럼 보이므로 솔루션 검색이 어려워졌습니다. 그 말로 ...

http://pm-utils.freedesktop.org/wiki/ 에서 옹호 된 현재 권장되는 방법을 최신 배포판에 사용할 수 있어야합니다. 먼저 pm-utils설치했는지, 포함 된 명령이 예상대로 작동하는지 확인합니다.

패키지가 설치되어 있는지 확인하려면 터미널에이 명령을 입력하십시오

rpm -qa | grep pm-utils

설치 한 버전이 출력됩니다. 예상되는 출력을 얻지 못하면 패키지를 설치해야합니다.

sudo yum install pm-utils

확인이 완료되면 일시 중지 기능을 테스트하십시오.

sudo pm-suspend

일시 중지하지 않고 출력이 표시되지 않으면 최근 dmesg 출력을 확인하십시오.

dmesg | tail -50

일단 트레일을 따라가는 것이 훨씬 쉬운 단서가 생기면 시작하는 데 도움이됩니다. 귀하의 결과에 대한 의견과 함께 다시 게시하면 나머지를 통해 알려 드리겠습니다.


심지어 pm-utils-devel을 설치했습니다. 그놈 / 메뉴-> 일시 중단-> 아무것도 클릭하지 않을 때 루트 사용자와의 pm-suspend는 일반 사용자와 동일하게 작동합니다. 일시 중지하려고 시도한 후 아무것도 시작하지 마십시오. 나중에 dmesg를 볼 수 있습니다, 감사합니다!
LanceBaynes

dmesg출력이 장면 뒤에 무슨 일이 일어나고 있는지 당신에게 말할 것이다. 더 중요한 것은 특히 실패 할 수있는 것입니다. O와 BTW는 devel 패키지가 필요하지 않습니다. 코드를 컴파일 할 때만 필요하므로 자유롭게 제거하십시오. 여기에서 가야 할 방향이 많이 있습니다. 잘못된 나무를 짖는 것을 보내지 않습니다.
JM 베커

1
@LanceBaynes pm-suspend그놈 메뉴가 아닌 쉘 에서 명령을 실행하려고 했 습니까? echo -n "mem" >/sys/power/state루트로 시도하십시오 . 또한 사용 중인 경우 뚜껑을 닫을 때 어떤 이벤트가 생성되는지 acpi확인할 수 있습니다 acpi_listen.

와우, wtf? 루트 사용자와 함께 "echo -n"mem "> / sys / power / state"를 사용하여 실제로 일시 중지되었습니다! 와. 유일한 문제는 이제 이런 종류의 일시 중단을 수행 할 때 gnome-screensaver가 시작되지 않고 잠금 해제 된 PC가 남게됩니다. 이 문제를 해결하는 방법? 일반 사용자가 이런 종류의 일시 중지를 사용할 수 있도록 스크립트 / 어떻게 만들 수 있습니까? 루트 사용자뿐만 아니라? 그리고 한가지 더 : 감사합니다!
LanceBaynes

2
@LanceBaynes : 이제 작동합니까? ... 나는 이런 종류의 "놀람"휴식 / 수리가 Widoze에서만 일어났다는 것을 믿었습니다. 불행히도, 나는 그것을 잠시 동안 믿지 않았습니다. 그러나 ... 밝은면에서는 덜 자주 발생합니다! 그리고 귀하의 일시 중지가 작동하고 있습니다. 좋은 소식입니다!
JM 베커

8

이것을 루트로 사용해보십시오 :

PM_DEBUG=true pm-suspend

그런 다음 /var/log/pm-suspend.log무엇이 잘못 될 수 있는지에 대한 힌트를 확인하십시오 .

일시 중단 할 수는 있지만 재개 할 수없는 경우이 문제를 디버깅하는 방법에 대한 Ubuntu 위키에 대한 유용한 기사 가 있습니다.


2

시스템을 일시 중지 / 다시 시작했을 때만 얻으려면 다음을 시도하십시오.

cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed";
Feb  7 10:44:23 dmatej-lenovo systemd-sleep[19900]: Suspending system...
Feb  7 10:44:33 dmatej-lenovo systemd-sleep[19900]: System resumed.
Feb  7 10:45:35 dmatej-lenovo systemd-sleep[20707]: Suspending system...
Feb  7 12:58:39 dmatej-lenovo systemd-sleep[20707]: System resumed.
Feb  7 14:42:55 dmatej-lenovo systemd-sleep[24690]: Suspending system...
Feb  7 16:31:57 dmatej-lenovo systemd-sleep[24690]: System resumed.

1

루트로 Mika에서 제안한대로 :

PM_DEBUG=true pm-suspend

내 세부 사항 :

/var/log/pm-suspend.log

이 경우에 당신은 어디를 찾고

[...] service [servicename] suspend suspend success

[...] service [servicename] suspend resume success

시작합니다. 그 사이의 어딘가에 통화 반환 오류가 표시 될 수 있으며이 시점에서 일시 중단이 금지됩니다. 이 경우 일시 중단 변경 사항이 롤백 될 수 있습니다. 어떤 서비스 호출에서 오류가 발생했는지 파악하고 vi에서 열어서 살펴보십시오.

xboxdrv우분투 12.04에 설치 한 후 규칙에 따라 전화가 /etc/pm/sleep.d/시작되지 않았거나 존재하지 않는 서비스를 중지하려고하는 경우와 동일한 문제가 발생 했습니다 xboxdrv. /lib/modules/uinput.ko모듈 이 없기 때문에 처음에는 시작할 수 없었습니다. 모듈이 커널에 병합 되었기 때문입니다. 이 경우 case /etc/pm/sleep.d/xboxdrv가 call과 "suspend"와 일치 할 때 case 문에서 오류가 발생했습니다 service xboxdrv stop. #일시 중단 상태에서 컨트롤러의 플러그를 뽑았다가 다시 꽂은 후 다시 시작해야하는 비용으로 줄 앞에 줄을 추가 하면 명령문 이 무시됩니다.


이것을 실행 한 후 디버그 로그에 오류가 없지만 마술 적으로 다시 작동하기 시작했다 ;-) 영구적 인 수정인지 궁금합니다 ...
Wirone
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.