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


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, EHC2XHC(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.