왜 터미널이 얼어 붙습니까?


11

가끔 터미널이 멈춰서 타이핑 할 수 없을 때가 있습니다. 원인이나 진단 방법을 확인할 수 없습니다. 어떤 제안?

감사!

우분투 10.04의 그놈 터미널 2.30.2


2
일반적으로 터미널이 정지되면 백그라운드에서 CPU 또는 디스크 I / O와 같은 너무 많은 리소스를 사용하는 다른 응용 프로그램으로 인해 발생합니다. top터미널에서 실행 하면 문제를 쉽게 찾을 수 있어야합니다.
RolandiXor

@roland-catch-22처럼 들리지만 때로는 한 터미널이 고정되면 다른 터미널을 열 수 있기 때문에 좋은 조언이 있습니다.
David LeBauer

알 겠어? :) 그것은 약간의 catch-22이지만, 종종 저에게 효과적입니다.
RolandiXor

답변:


14

신비한 행 아웃을 진단하는 좋은 일반적인 방법 :

  1. ( ps axo pid,wchan:32,cmd다른 ) 터미널을 열고 다른 프로세스 ID를 찾는 데 사용 하십시오.
  2. wchan커널에 갇혀 있는지 여부를 알려주 는 열을 확인하십시오.
  3. sudo strace -p PID해당 프로세스의 pid 삽입을 실행 하십시오. 버그 보고서 나 질문에 붙여 넣기

wchan 열에 대시를 제외하고 무언가가 있다면 프로세스는 커널에서 무언가를 수행하는 것입니다. 몇 가지 일반적인 값 :

  • futex_wait_queue_me -같은 프로세스에서 다른 스레드에 대한 futex 대기
  • poll_schedule_timeout -네트워크 또는 프로세스 간 통신을 기다리거나 잠시 동안 잠자기
  • pipe_wait -파이프 읽기 / 쓰기

수천 가지 가능성이 있으므로 모두 나열 할 수는 없습니다. 프로세스의 "대기 채널"이란 무엇입니까?를 참조하십시오 . 이상.


범용 버그 추적에 매우 유용합니다. 광범위한 설명으로 답변을 업데이트 할 수 있습니까? wchan 열의 어떤 메시지가 커널에 멈춘 프로그램을 나타 냅니까?
Salih Emin

고마워요 어쩌면 일반적으로 중단을 진단하는 방법에 대한 또 다른 질문이 있습니까?
poolie

사람들이 다른 wchan 값에 대해 궁금한 경우 의견을 추가하십시오.
poolie

어느 wchan프로세스가 커널에서 대기 의미합니다. 오랜 시간 동안 네트워크 io를 수신하는 것과 같은 이유가 없으면 중단 된 것입니다. ;)
poolie

25

우연히 Ctrl + S를 눌렀습니까? Ctrl-Q를 눌러 다시 시작할 때까지 모든 출력을 중지하는 것은 터미널 일시 정지 키입니다.

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