วิธีการตรวจสอบสาเหตุของการไม่ตอบสนองบน Linux? [ปิด]


1

ฉันขอโทษที่ปัญหาที่ฉันเขียนไม่เป็นรูปธรรมมาก ฉันใช้ KDE4 กับการทดสอบ Debian และใช้โปรแกรมจัดการไฟล์ของ KDE Dolphin บ่อยครั้งส่วนใหญ่ไม่มีปัญหา เมื่อเร็ว ๆ นี้ฉันคิดว่าหลังจากการอัปเดตระบบ Dolphin มักจะไม่ตอบสนองมาก สิ่งนี้อาจเกิดขึ้นโดยตรงเมื่อเริ่มต้น - หนึ่งนาทีหรือผ่านไปก่อนที่หน้าต่างจะปรากฏขึ้น - มันอาจเกิดขึ้นในภายหลังหลังจากผ่านไประยะหนึ่งทุกอย่างเรียบร้อยดี เนื้อหาของหน้าต่างจะไม่ได้รับการอัปเดตอีกต่อไปมันจะใช้เวลานานจนกว่าไฟล์จะถูกเปิดหลังจากคลิกแล้วเป็นต้นการรีบูตอาจทำให้ปัญหาหายไป แต่ไม่นาน ฉันคิดว่าอาจต้องทำอย่างไรกับการเข้าถึงไดรฟ์ออปติคัล แต่ปัญหายังคงอยู่แม้ว่าจะไม่มีไดรฟ์ปานกลาง - ฉันไม่มีระบบไฟล์เครือข่ายที่เชื่อมต่ออยู่ นอกจากนี้ยังไม่มีกระบวนการอื่นที่ทำให้หมดเวลา CPU และ / หรือแบนด์วิดท์ของดิสก์

ตอนนี้ คำถาม ฉันกำลังขอไม่ได้เกี่ยวกับปัญหาเฉพาะกับ Dolphin แต่สิ่งนี้:

โดยทั่วไปฉันจะจัดการกับสถานการณ์ที่โปรแกรมไม่ตอบสนองได้อย่างไร มีกลยุทธ์มาตรฐานเพื่อค้นหาสาเหตุที่ทำให้เกิดปัญหาดังกล่าวหรือไม่ 1) ฉันอาจพบวิธีแก้ไขหรือวิธีแก้ปัญหาสำหรับตัวเองและ / หรือ 2) สามารถส่งรายงานข้อบกพร่องที่มีประโยชน์

ในกรณีนี้เพราะฉันคิดว่าอาจต้องทำกับ Dolphin พยายามเข้าถึงไฟล์บางไฟล์และแขวนเนื่องจากมีบล็อกบางชนิดฉันจึงเริ่มปลาโลมาใต้ strace และพยายามทำความเข้าใจกับข้อความ อย่างไรก็ตามมี "ข้อผิดพลาด" มากมายประเภท "EAGAIN (ทรัพยากรไม่พร้อมใช้งานชั่วคราว)" หรือ "ENOENT (ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว)" ซึ่งส่วนใหญ่ไม่ได้แสดงถึงปัญหา สิ่งเดียวที่ฉันเรียนรู้ได้อย่างน่าเชื่อถือคือแม้ว่าปลาโลมาจะไม่ตอบสนองต่อการป้อนข้อมูลของผู้ใช้ซึ่งไม่ได้หมายความว่าไม่มีอะไรเกิดขึ้นมากมายในการตอบสนองต่อการเคลื่อนไหวของเมาส์และการคลิกเมาส์ ...

คือ strace เครื่องมือที่เหมาะสม? ถ้าใช่ฉันควรจะหาอะไรในผลลัพธ์ของมัน? ถ้าไม่ฉันควรใช้อะไรแทน

คำตอบ:


1

strace พิมพ์รายการการเรียกของระบบที่ทำโดยโปรแกรม มันอาจมีประโยชน์และให้ความรู้แก่การใช้งาน แต่ถ้าคุณไม่ใช่โปรแกรมเมอร์มันอาจไม่ได้ใช้งานได้จริง

htop

หากสิ่งที่คุณต้องการคือการทำให้ระบบที่ตอบสนองไม่ดีกลับสู่สถานะการทำงานหนึ่งในโปรแกรมที่มีประโยชน์ที่สุดที่ฉันพบคือ htop โดยทั่วไปจะแสดงการใช้งานระบบตามเวลาจริงในเทอร์มินัล คุณควรอ่านนิดหน่อยเกี่ยวกับมัน - มันเป็นเอกสารที่ดีมากและมีบทความไม่กี่เรื่องที่ได้รับการตีพิมพ์ คุณใช้มันในเทอร์มินัลดังนั้นหากเดสก์ท็อปของคุณค้างไว้ แต่ถ้าคุณยังสามารถเข้าสู่ระบบคอมพิวเตอร์ของคุณผ่าน ssh ได้ เช่น. จากเครื่อง windows ของคุณผ่าน pUTTY มันให้รายการกระบวนการและแสดงข้อมูลที่สำคัญที่สุดเกี่ยวกับพวกเขา ด้วย F6 คุณสามารถจัดเรียงกระบวนการตามการใช้ทรัพยากรเฉพาะ (เช่นตัวประมวลผลหน่วยความจำสลับ) และทำให้คุณสามารถดูว่าโปรแกรมใดเป็นหมูทรัพยากร ด้วย F4 คุณสามารถกรองตามชื่อโปรแกรม - เพียงแค่เริ่มพิมพ์ F5 แสดงโครงสร้างกระบวนการและมีแนวโน้มที่จะแสดงให้คุณเห็นว่าไฟล์ใดบ้างที่เปิดโดยโปรแกรมของคุณ ด้วย F9 คุณสามารถส่ง KILL สัญญาณใดก็ได้ที่คุณต้องการไปยังโปรแกรม สิ่งที่ดีคือ - คุณสามารถเลื่อนขึ้นและลงด้วยปุ่มลูกศรและกดหมายเลขเพื่อเลือกตัวเลือก - คุณควรทดลองเล็กน้อยเพื่อชื่นชมสิ่งนี้

กฎง่าย ๆ ของฉันคือ - หากระบบไม่ได้แขวนมากจนการกด Num Lock ไม่กระพริบแสง NumLock ก็มีโอกาสที่การตรวจสอบง่าย ๆ และ - SIGHUP หรือ SIGKILL จาก htop จะนำมันกลับมาสู่ความเสถียร หากสถานการณ์ซ้ำ - คุณสามารถกรอกรายงานข้อผิดพลาด


สวัสดี r0berts ขอขอบคุณสำหรับการตอบกลับของคุณ สิ่งคือไม่ใช่ระบบหรือเดสก์ท็อปที่ถูกแช่แข็ง แต่เป็นเพียงโปรแกรมนี้โดยเฉพาะ ฉันใช้ top เพื่อดูสถานะของทรัพยากรระบบและฉันไม่สามารถหาอะไรผิดปกติได้ htop ดูดีจริงๆขอบคุณสำหรับเคล็ดลับ! แต่ฉันไม่คิดว่ามันจะช่วยแก้ปัญหานี้ได้ และในขณะที่ฉันยังห่างไกลจากการเป็นโปรแกรมเมอร์มืออาชีพ ดังนั้นคุณมีความคิดว่าฉันสามารถระบุปัญหากับหนึ่งโปรแกรมที่การแช่แข็งไม่เกี่ยวข้องกับ CPU หน่วยความจำหรือแบนด์วิดธ์สูงใช้อย่างไร
A. Donda

สวัสดีใช่ฉันคิดว่าฉันตกอยู่ในหมวดหมู่เดียวกัน - ไม่ใช่โปรแกรมเมอร์ แต่ไม่ clueless อย่างสมบูรณ์ หากทรัพยากรไม่ใช่ปัญหาเราอาจคิดถึงการเขียนโปรแกรมผิดพลาดอื่น ๆ อีกสองเครื่องมือที่ต้องดูว่าเกิดอะไรขึ้นกับปลาโลมาโดยเฉพาะจะเป็น lsof pidofdoolphin
r0berts

1
ขออภัยที่ก่อนหน้า เครื่องมือที่มีประโยชน์เพิ่มเติมสองอย่าง: lsof lsof pidOFdoolphin รับ pid จาก top หรือ pidof ) ที่จะเห็นไฟล์ที่เปิดโดยปลาโลมา Wireshark เพื่อดูว่ามีคำขอขาออกที่ไม่กลับมาหรือไม่ ตัวจัดการไฟล์มักจะรอให้เครือข่ายหมดเวลาและอาจปรากฏว่าค้าง อาจเป็นข้อผิดพลาดในโปรแกรมหรือปลั๊กอิน ปิดเครือข่ายโดยสิ้นเชิงและดูว่ามีลักษณะการทำงานเดียวกันเกิดขึ้นหรือไม่ NMON เป็นอีกวิธีที่มีประโยชน์ในการดูระบบของคุณ รวมทั้งการสนทนาในฟอรัมที่น่าสนใจซึ่งอธิบายถึงเงื่อนไขที่ค่อนข้างคล้ายกัน ลิงค์
r0berts

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