ทำไมเทอร์มินัลของฉันถึงค้างอยู่?


11

บางครั้งเมื่อ terminal ของฉันค้างและมันจะไม่ให้ฉันพิมพ์ ฉันไม่สามารถระบุสาเหตุใด ๆ หรือวิธีการวินิจฉัย ข้อเสนอแนะใด ๆ

ขอบคุณ!

เทอร์มินัล GNOME 2.30.2 บน Ubuntu 10.04


2
โดยปกติเมื่อเทอร์มินัลค้างมันเกิดจากโปรแกรมอื่นในพื้นหลังใช้ทรัพยากรมากเกินไปเช่น CPU หรือ Disk I / O หากคุณเรียกใช้topในเทอร์มินัลคุณควรจะสามารถค้นหาปัญหาได้อย่างง่ายดาย
RolandiXor

@roland - ฟังดูเหมือน catch-22 แต่คำแนะนำที่ดีตั้งแต่บางครั้งเมื่อเทอร์มินัลหนึ่งถูกตรึงฉันสามารถเปิดอีกอันได้และมันจะทำงานได้
David LeBauer

ฉันรู้ใช่มั้ย :) มันเป็นบิต -22 แต่มันมักจะใช้ได้กับฉัน
RolandiXor

คำตอบ:


14

วิธีทั่วไปที่ดีในการวินิจฉัยอาการแฮงค์ลึกลับ:

  1. เปิดเทอร์มินัล (nother) และใช้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

ขอบคุณ Salih บางทีเราควรมีคำถามอื่นเกี่ยวกับวิธีการวินิจฉัยอาการแฮงค์โดยทั่วไป
poolie

หากผู้คนอยากรู้เกี่ยวกับค่า wchan อื่น ๆ โปรดเพิ่มความคิดเห็น
poolie

ใด ๆwchanหมายถึงกระบวนการที่กำลังรอใน kernel หากอยู่ที่นั่นเป็นเวลานานและไม่มีเหตุผลที่ดีเช่นฟัง io ของเครือข่ายแสดงว่าติดขัด ;)
poolie

25

คุณกด Ctrl + S โดยบังเอิญหรือไม่? เป็นปุ่มหยุดเทอร์มินัลที่หยุดเอาต์พุตทั้งหมดจนกว่าคุณจะกด Ctrl-Q เพื่อกลับมาทำงานต่อ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.