일시 중단을 디버깅하는 방법?


29

나는 약 5 년 동안 우분투를 사용해 왔는데, 여전히 원할 때 일시 중지 할 수 없습니다. 폭풍을 프로그래밍하고 다른 많은 방법으로 기계를 해킹 할 수 있다는 것은 매우 짜증나지만, 일시 중단 또는 일시 중단을 시도하면 비참하게 실패합니다.

도움이 필요합니다.

문제를 어디서 찾을 수 있습니까? 문제를 해결하려면 어떻게해야합니까? 말 그대로이 문제로 목숨을 잃었고 컴퓨터를 항상 켜두는 것이 끔찍하기 때문에 현상금을 지급하고 있습니다.

증상 :

  • 일시 중지를 누르면 컴퓨터가 커서가 깜박이고 팬이 작동하는 상태가되고 HD가 꺼진 것 같습니다 (제 생각에).이 상태에서 컴퓨터를 다시 가져올 수있는 작업이 없습니다. 하드 재부팅).
  • 아마도 관련성 : 팬이 종료 된 후에도 팬이 계속 켜져있다가 다시 시작하기 전에 전원 버튼을 5 초 동안 눌러야합니다.
  • 문제를 디버깅하기 위해 어떤 로그를보아야하는지 알 수 없으며 재부팅 할 때 문제가 발생할 수 있습니다.

도와주세요. 이것은 나를 완전히 견뎌 냈고 나는 1 년 넘게 함께 살았습니다.


이것으로 운이 있었습니까? 나는 개인적으로 그래픽 하드웨어를 초기화하고 있습니다. 충분한 시간이 주어지면 아마도 그 방법을 프로그래밍 할 수는 있지만 문제를 직접 해결할 수있는 방법이 훨씬 매끄 럽습니다.
— Henrik

그래 운이 없어 분명히 일시 중단을 디버깅하는 방법은 없습니다.
— mlissner

1
어떻게 일시 중지되어 있습니까? 명령 줄에서 실행 중 pm-suspend입니까? 키보드에서 일시 중단 키를 사용하고 있습니까? acpi (예 : /etc/acpi/sleep.sh 또는 /etc/acpi/sleepbtn.sh)를 호출하고 있습니까?
— M. Tibbits

1
현상금 사냥꾼에게 : 나는 systemd를 사용한 최신 우분투 설치를위한 일반적인 디버깅 레시피, 즉 정보 수집을 주로 찾고 있습니다. 우리는이 질문을 미숙 한 사용자에 의한 광범위한 일시 중단 문제 질문에 대한 표준 복제본으로 사용할 수 있기를 바랍니다.
— David Foerster 2016 년

2
@pbhj : 솔루션을 향한 길의 첫 단계로서 적절한 문제 진단이 필요합니다.
— David Foerster

답변:


22

에서 https://wiki.ubuntu.com/UnderstandingSuspend

  • 가장 큰 문제는 그래픽 하드웨어입니다
  • 제한된 장치없이 일시 중지 시도 (nvidia, fglrx)
  • 커널은 그래픽 장치를 처리하는 방법을 모른다
  • BIOS는 그래픽 상태를 복원하는 방법을 알고 있습니다
    • 16 비트 세그먼트 모드를 통해 C000 : xxxx는 보이는 64k 비디오 ROM을 포함합니다.
    • C000 : 0003에서 실행을 시작하면 일반적으로 비디오 BIOS를 다시 POST합니다 (/ usr / sbin / vbetool post)
      • 16 비트 호출을 에뮬레이트해야하기 때문에 64 비트 모드에서는 더 어렵습니다.
      • 일부 메모리는 3-4G 범위에 있으며 동일한 공간에 매핑 된 커널에 충돌하지 않도록 에뮬레이션 할 때 다시 매핑해야합니다. o 비디오 BIOS가 C000 창에서 POST 코드를 페이징 할 수 있음
    • Xorg에서 로그 아웃했는지 확인하십시오 (또는 "force"인수로 sleep.sh를 실행하십시오).
    • 비디오 BIOS가 정상 상태가 아닌 경우 Xorg로 돌아 가면 하드웨어가 중단 될 수 있습니다
    • 이력서에서 capslock 테스트 (capslock이 없으면 커널이 중단 됨)
    • 백라이트가 다시 켜지지 않으면 비디오 BIOS가 다시 초기화되지 않은 것입니다.
    • 화면이 비어 있지만 백라이트가있는 경우 Enter 키를 누르거나 가상 터미널 간 전환을 시도하십시오.
    • 단일 사용자 모드로 시도하십시오 (grub 커널 부트 옵션에 "단일"을 추가하여)
    • 작업에 대한 자세한 내용은 bash -x /etc/acpi/sleep.sh> /root/sleep.log 2> & 1을 참조하십시오.
    • /usr/share/acpi-support/*.config의 설정과 일치하는 dmidecode 정보를 확인하십시오.
    • 단일 사용자 모드 콘솔 일시 중지 또는 다시 시작에 실패한 경우
    • 시스템 타이머에 장치 해시를 쓰는 PM 추적 (에코 "1"> / sys / power / pm_trace)
    • 일시 중지하려고
    • 장애 발생 후 재부팅시 "mess"출력에 대한 dmesg 출력을 검사하여 재개 중에 시스템을 정지시킨 장치를 추적하십시오.
    • 이렇게하면 시스템 시계가 재설정되고 fsck가 기절합니다 ( "frizck없이 31337 일 동안 지났습니다"). tune2fs -c 0 / dev / your / filesystems를 고려하십시오.

2
제한된 장치를 끄려면 어떻게합니까?
— Owen

1
작동 중지 스크립트에 대한 링크가 일시 중지에 실패하면 확인란을 선택합니까? ... 문제의이 종류는 리눅스와 블록 질량 사용의 베인 ...이다
— 스콧 Stensland

4

여기 및 여기 에서 많은 지침 / 조언을 찾을 수 있습니다 .

설명에 따르면 ACPI가 제대로 작동하지 않거나 커널 드라이버가 완전히 일시 중단되지 않는 것처럼 들립니다. 두 번째 링크는 이러한 종류의 문제를 해결하는 방법을 보여줍니다.


2
나는 이것들을 읽었지만 내 문제에 실제로 유용한 정보가 부족합니다. 더 많은 도움과 더 나은 세부 사항이 필요합니다. 이 질문에 대한 현상금을 만들었습니다.
— mlissner

4
나쁜 대답-그냥 링크. Stack *-사이트의 요점은 모든 질문에 대한 방문 장소를 제공하는 것입니다. mlissner의 의견에 따라 답변을 질문에 삽입하고 업데이트하십시오.
— Henrik

감사합니다 : 때로는 원본 홈페이지를 읽는 것이 유용합니다!
— abu_bua

4

증상 :

  • 일시 중지를 누르면 컴퓨터가 커서가 깜박이고 팬이 작동하는 상태가되고 HD가 꺼진 것 같습니다 (제 생각에).이 상태에서 컴퓨터를 다시 가져올 수있는 작업이 없습니다. 하드 재부팅).
  • 아마도 관련성 : 팬이 종료 된 후에도 팬이 계속 켜져있다가 다시 시작하기 전에 전원 버튼을 5 초 동안 눌러야합니다.
  • 문제를 디버깅하기 위해 어떤 로그를보아야하는지 알 수 없으며 재부팅 할 때 문제가 발생할 수 있습니다.

많은 Linux 문제에 대한 사이트로 이동하려면 Arch Linux입니다. 다음은 귀하와 유사한 일시 중지 / 재개 문제 에 대해 게시 된 내용입니다 .

일시 중단으로 인한 즉각적인 깨우기

LynxPoint 및 LynxPoint-LP 칩셋을 사용하는 일부 Intel Haswell 시스템의 경우 일시 중단 후 즉시 깨우기가보고됩니다. 그것들은 잘못된 BIOS ACPI 구현 및 xhci_hcd모듈이 부팅하는 동안이를 해석 하는 방법에 연결되어 있습니다. 워크 어라운드 영향보고 시스템 (라는 블랙리스트에 추가되면 XHCI_SPURIOUS_WAKEUP커널 사례에 의해). [ 2 ]

예를 들어 일시 중단 중에 USB 장치가 연결되어 있고 ACPI 웨이크 업 트리거가 활성화 된 경우 즉각적인 재개가 발생할 수 있습니다. 이러한 시스템이 아직 블랙리스트에없는 경우 실행 가능한 해결 방법은 웨이크 업 트리거를 비활성화하는 것입니다. USB를 통한 웨이크 업을 비활성화하는 예는 다음과 같습니다. [ 3 ]

현재 구성을 보려면

$ cat /proc/acpi/wakeup

Device  S-state   Status   Sysfs node
...
EHC1      S3    *enabled  pci:0000:00:1d.0
EHC2      S3    *enabled  pci:0000:00:1a.0
XHC       S3    *enabled  pci:0000:00:14.0

...

관련 장치는 EHC1, EHC2및 XHC(USB 3.0). 상태를 전환하려면 장치 이름을 루트로 파일에 에코해야합니다.

# echo EHC1 > /proc/acpi/wakeup
# echo EHC2 > /proc/acpi/wakeup
# echo XHC > /proc/acpi/wakeup

이로 인해 정지 작업이 다시 수행됩니다. 그러나이 설정은 임시적인 것이므로 재부팅 할 때마다 설정해야합니다. 이를 자동화하려면 systemd # Writing unit files를 살펴보십시오 . 가능한 솔루션 및 자세한 정보는 BBS 스레드 를 참조하십시오 .


Suspend / Resume에 관한 위의 전체 아치 리눅스 기사는 여러 분야에 대한 훌륭한 참고 자료입니다.

1 Low level interfaces
    1.1 kernel (swsusp)
    1.2 uswsusp
2 High level interfaces
    2.1 systemd
3 Hibernation
    3.1 About swap partition/file size
    3.2 Required kernel parameters
        3.2.1 Hibernation into swap file
    3.3 Configure the initramfs
4 Troubleshooting
    4.1 ACPI_OS_NAME
    4.2 VAIO Users
    4.3 Suspend/hibernate doesn't work, or not consistently
    4.4 Wake-on-LAN
    4.5 Instantaneous wakeups from suspend

좋아 보인다! 다른 사람들이 대답 할 기회를주기 위해 하루나 이틀 정도 기다릴 것입니다. 누군가 당신의 영감을 느낄 것입니다. :-)
— David Foerster 2018 년

@DavidFoerster 감사합니다. 8 살짜리 질문에 대답하는 것은 어렵습니다. NVMe M.2 PCIe SSD에는 오늘 밤 추가 할 예정인 일시 중지 / 재개 문제가 있습니다. 이러한 유형의 SSD는 2010 년에 존재하지 않았으며 특별한 grub 커널 인수가 필요합니다.
— WinEunuuchs2Unix

systemd를 사용하는 최신 Ubuntu 설치에 대한 특정 일시 중단 문제에 대한 솔루션과 일반적인 디버깅 레시피에 대한 솔루션을 찾고있었습니다.
— David Foerster 2016 년

@DavidFoerster이 경우 대답을 그대로
— 두겠습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.