Làm thế nào để điều tra nguyên nhân của sự không đáp ứng trên Linux? [đóng cửa]


1

Tôi xin lỗi rằng vấn đề tôi đang viết không phải là rất cụ thể. Tôi sử dụng KDE4 trong kiểm tra Debian và thường xuyên sử dụng Trình quản lý tệp của KDE, hầu hết thời gian không gặp sự cố. Gần đây, tôi cho rằng sau khi cập nhật hệ thống, Cá heo thường không phản hồi. Điều này có thể xảy ra trực tiếp khi khởi động - một phút hoặc lâu hơn trước khi cửa sổ xuất hiện - nó cũng có thể xảy ra sau đó trong một thời gian mọi thứ đều ổn. Nội dung cửa sổ không còn được cập nhật, phải mất nhiều thời gian cho đến khi một tệp được mở sau khi được nhấp vào, v.v. Việc khởi động lại đôi khi làm cho vấn đề biến mất, nhưng không lâu. Tôi nghĩ rằng nó có thể phải làm với truy cập ổ đĩa quang, nhưng vấn đề vẫn còn ngay cả khi không có phương tiện trong ổ đĩa. - Tôi không có bất kỳ hệ thống tập tin mạng gắn kết. Cũng không có quá trình khác ăn hết thời gian CPU và / hoặc băng thông đĩa.

Bây giờ, câu hỏi Tôi hỏi không phải là về vấn đề đặc biệt này với Cá heo, mà là:

Nói chung làm thế nào tôi có thể đối phó với tình huống chương trình trở nên không phản hồi? Có một chiến lược tiêu chuẩn để tìm ra nguyên nhân gây ra vấn đề như vậy không, vì vậy 1) Tôi có thể tìm ra cách khắc phục hoặc giải pháp cho bản thân và / hoặc 2) có thể gửi báo cáo lỗi hữu ích?

Trong trường hợp này, vì tôi nghĩ rằng nó có thể phải làm với Cá heo cố gắng truy cập một số tệp nhất định và bị treo vì có một số loại, tôi bắt đầu cá heo theo strace và cố gắng làm cho ý nghĩa của các tin nhắn. Tuy nhiên, có rất nhiều "lỗi" loại "EAGAIN (Tài nguyên tạm thời không khả dụng)" hoặc "ENOENT (Không có tệp hoặc thư mục như vậy)", hầu hết trong số đó không xuất hiện vấn đề. Điều duy nhất tôi học được một cách đáng tin cậy là ngay cả khi Cá heo không phản ứng với đầu vào của người dùng, điều đó không có nghĩa là sẽ không có nhiều điều xảy ra khi phản ứng với chuyển động của chuột và nhấp chuột ...

strace công cụ phù hợp? Nếu có, tôi nên tìm kiếm gì trong đầu ra của nó? Nếu không, tôi nên sử dụng cái gì thay thế?

Câu trả lời:


1

Vâng, strace in một danh sách các cuộc gọi hệ thống được thực hiện bởi chương trình. Nó có thể hữu ích và giáo dục để sử dụng nó, nhưng nếu bạn không phải là một lập trình viên thì nó có thể không thực tế lắm.

htop

Nếu những gì bạn muốn là làm cho hệ thống phản hồi kém trở lại trạng thái làm việc, thì một trong những chương trình hữu ích nhất mà tôi đã tìm thấy là htop. Về cơ bản nó cho bạn thấy việc sử dụng hệ thống theo thời gian thực trong một thiết bị đầu cuối. Bạn nên đọc một chút về nó - nó được ghi chép lại rất tốt và khá nhiều bài báo đã được xuất bản về nó. Bạn sử dụng nó trong một thiết bị đầu cuối, do đó, nếu máy tính để bàn của bạn bị đóng băng nhưng nếu bạn vẫn có thể đăng nhập vào máy tính của mình thông qua ssh thì nó hoạt động. Ví dụ. từ máy tính windows của bạn thông qua pUTTY. Nó cung cấp cho bạn một danh sách các quy trình và hiển thị thông tin quan trọng nhất về chúng. Với F6, bạn sắp xếp các quy trình theo cách sử dụng tài nguyên cụ thể (ví dụ: bộ xử lý, bộ nhớ, trao đổi) và do đó bạn có thể xem chương trình nào là tài nguyên hog. Với F4, bạn có thể lọc theo tên chương trình - chỉ cần bắt đầu nhập. F5 cho bạn thấy cây xử lý và có khả năng sẽ hiển thị cho bạn những tệp nào được mở bởi chương trình của bạn. Với F9, bạn có thể gửi bất kỳ tín hiệu KILL nào bạn muốn đến chương trình. Điều tuyệt vời là - bạn có thể chỉ cần di chuyển lên và xuống bằng các phím mũi tên và bấm số để chọn tùy chọn - bạn nên thử nghiệm một chút để đánh giá cao điều này.

Nguyên tắc nhỏ của tôi là - nếu hệ thống không treo quá nhiều mà nhấn Num Lock sẽ không nháy đèn NumLock, thì rất có thể một số điều tra đơn giản và - SIGHUP hoặc SIGKILL từ htop sẽ đưa nó trở lại ổn định. Nếu tình huống lặp lại - thì bạn có thể điền vào báo cáo lỗi.


Xin chào r0berts, cảm ơn bạn đã trả lời. Vấn đề là, nó không phải là hệ thống hoặc máy tính để bàn bị đóng băng, mà chỉ là chương trình đặc biệt này. Tôi đã sử dụng top để xem xét tình trạng tài nguyên hệ thống và tôi không thể tìm thấy bất cứ điều gì khác thường. htop trông rất đẹp, cảm ơn vì tiền boa! Nhưng tôi không nghĩ nó sẽ khai sáng vấn đề này. Và trong khi tôi không phải là một lập trình viên chuyên nghiệp, tôi không hoàn toàn không biết gì. Vì vậy, bạn có biết làm thế nào tôi có thể xác định một vấn đề với một chương trình, trong đó việc đóng băng không liên quan đến việc sử dụng CPU, bộ nhớ hoặc băng thông cao?
A. Donda

Xin chào, vâng tôi nghĩ rằng tôi thuộc cùng loại - không phải là lập trình viên, nhưng không hoàn toàn không biết gì. Nếu tài nguyên không phải là vấn đề thì có lẽ chúng ta đang nghĩ đến một số trục trặc lập trình khác. Một vài công cụ nữa để xem xét cụ thể những gì xảy ra với cá heo sẽ là lsof pidofdoolphin
r0berts

1
Xin lỗi vì trước. Một vài công cụ hữu ích hơn: lsof lsof pidOFdoolphin (lấy pid từ top hoặc là pidof ). Điều đó sẽ thấy các tập tin được mở bởi cá heo. dây điện để xem nếu có những yêu cầu gửi đi không bao giờ quay trở lại; người quản lý tập tin thường đợi mạng hết thời gian và điều đó có thể xuất hiện dưới dạng đóng băng. Có thể trục trặc trong chương trình hoặc plugin. Tắt mạng hoàn toàn và xem nếu hành vi tương tự xảy ra. cá hồi là một cách hữu ích khác để xem xét hệ thống của bạn. Cộng với một cuộc thảo luận diễn đàn thú vị mô tả các điều kiện tương tự liên kết
r0berts

1
Khi bạn đi đến giải pháp, có lẽ bạn có thể đăng nó ở đây. Thật thú vị tại sao một chương trình (được sử dụng rộng rãi tại đó) không phản hồi và không cho thấy bất kỳ tác động nào đối với tài nguyên hệ thống hoặc mạng.
r0berts
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.