Làm cách nào để sửa lỗi hệ thống Ubuntu không phản hồi?


22

Tôi sử dụng Ubuntu. Đôi khi, hệ thống không có bất kỳ phản hồi nào với chuột và bàn phím. Có cách nào để giải quyết vấn đề này ngoại trừ nhấn nút reset trên máy không?


1
đó là một câu hỏi khó vì bạn không cho chúng tôi tiếp tục ... nếu là tôi, tôi sẽ CTRL + ALT + F [1..6], đăng nhập và giết một số quy trình. nhưng tôi hầu như luôn biết những gì làm cho máy của tôi không phản hồi, trong khi bạn thì không. và ngoài ra, đôi khi tôi viết các chương trình mà tôi biết sẽ làm cho nó không phản hồi, vì tôi muốn đầu ra của chương trình.
ixtmixilix

Bạn có chắc hệ thống không phản hồi hoặc hệ thống vẫn hoạt động nhưng các thiết bị đầu vào ngừng hoạt động?
Bobby

Câu trả lời:


35

Nếu bạn muốn có cách để khởi động lại, mà không lưu tài liệu đang mở, nhưng không nhấn nút đặt lại, thì có những cách ít có khả năng gây mất dữ liệu. Đầu tiên, hãy thử Ctrl+ Alt+ F1. Điều đó sẽ đưa bạn đến một bảng điều khiển ảo , như ixtmixilix nói. Khi bạn đang ở trong bảng điều khiển ảo, Ctrl+ Alt+ Deletesẽ tắt và khởi động lại máy.

Nếu kỹ thuật đó không hoạt động, luôn có Alt+ SysRq+REISUB .

Đối với việc khắc phục sự cố mà không khởi động lại, không có thêm thông tin về những gì đang xảy ra, sẽ rất khó để đưa ra một câu trả lời tốt. Nếu bạn có thể mô tả các trường hợp theo đó điều này xảy ra (cách tốt nhất để làm điều đó là chỉnh sửa câu hỏi của bạn để thêm thông tin), thì điều đó có thể giúp mọi người đưa ra câu trả lời tốt. Một điều khác cần xem xét là, nếu máy tính của bạn không phản hồi - đặc biệt là nếu mất hơn một vài giây để Ctrl+ Alt+ F1hiển thị bảng điều khiển ảo - thì bạn gần như chắc chắn có lỗi và bằng cách báo cáo, bạn có thể báo cáo cả hai đều giúp đỡ cộng đồng và có thể nhận được câu trả lời.

GUI trục trặc gây ra lỗi không phản hồi WM hoặc X11 / Wayland

Điều này có thể xảy ra do sự tương tác giữa ứng dụng và trình quản lý cửa sổ - hoặc máy chủ X11 hoặc Wayland. Một dấu hiệu cho thấy đây là bản chất của vấn đề là nếu một ứng dụng ngừng phản hồi và ngăn bạn nhập dữ liệu bằng bàn phím hoặc chuột vào các cửa sổ ứng dụng khác. (Không áp dụng nên có thể làm được điều này, một số thành phần GUI phải có một lỗi trong nó cho điều này xảy ra.) Nếu đó là những gì đang xảy ra, sau đó bạn có thể giết chết quá trình xúc phạm trong một giao diện điều khiển ảo (như ixtmixilix ám chỉ):

  1. Nhấn Ctrl+ Alt+ F1.

  2. Đăng nhập. Bạn sẽ không thấy bất cứ điều gì khi bạn nhập mật khẩu của mình. Điều đó là bình thường.

  3. Sử dụng một tiện ích như psđể tìm ra tên quy trình của chương trình vi phạm. Đôi khi điều này là dễ dàng trong Ubuntu, và những lần khác thì không. Ví dụ: tên của quy trình Quản lý Lưu trữ là file-roller. Nếu bạn gặp khó khăn trong việc tìm ra nó, bạn thường có thể tìm thấy thông tin trực tuyến mà không gặp quá nhiều khó khăn (hoặc nếu bạn không thể, bạn có thể đăng câu hỏi về nó).

    Bạn có thể psđầu ra của ống grepđể thu hẹp mọi thứ. Giả sử đó là Trình quản lý Lưu trữ đã gây ra sự cố. Sau đó, bạn có thể chạy:

    ps x | grep file-roller
    

    Bạn sẽ thấy một mục cho greplệnh của riêng bạn , cộng với một mục cho file-roller.

  4. Cố gắng để giết quá trình vi phạm với SIGTERM. Điều này mang lại cho nó cơ hội để thực hiện dọn dẹp vào phút cuối như xóa bộ đệm tệp, báo hiệu cho các máy chủ từ xa rằng nó sắp ngắt kết nối (đối với các giao thức thực hiện điều đó) và giải phóng các loại tài nguyên khác. Để làm điều này, sử dụng killlệnh:

    kill PID

    nơi PIDsố quá trình ID của quá trình bạn muốn giết, thu được từ hoạt động pstrong bước 3.

  5. SIGTERMlà một cách để kiên quyết yêu cầu một quá trình để bỏ thuốc lá. Quá trình có thể bỏ qua tín hiệu đó, và sẽ làm như vậy khi gặp trục trặc trong một số trường hợp nhất định. Vì vậy, bạn nên kiểm tra để thấy rằng nó hoạt động. Nếu không, hãy giết nó bằng SIGKILLcái mà nó không thể bỏ qua và luôn hoạt động trừ trường hợp hiếm hoi khi quá trình này diễn ra trong giấc ngủ không bị gián đoạn (hoặc nếu nó không thực sự chạy, mà là quá trình zombie ).

    Bạn có thể kiểm tra xem liệu tiến trình có còn chạy hay không và giết nó SIGKILLbằng chỉ với một lệnh:

    kill -KILL PID

    Nếu bạn nhận được một tin nhắn như thế , bạn biết việc giết nó bằng cách làm việc. Nếu bạn không có đầu ra, bạn biết đã không làm việc. Trong trường hợp đó, có lẽ đã làm, nhưng nó đáng để kiểm tra bằng cách chạy lại nó. (Nhấn phím mũi tên lên để hiển thị các lệnh trước đó, để dễ gõ.)kill: (PID) - No such processSIGTERMSIGTERMSIGKILL

  6. Trong các trường hợp hiếm hoi cho các quy trình của riêng bạn hoặc luôn có các quy trình thuộc về roothoặc người dùng khác ngoài chính bạn, bạn phải hủy quy trình đó root. Để làm điều đó, hãy thêm vào sudo (bao gồm cả dấu cách) trước các killlệnh trên . Nếu các lệnh trên không hoạt động hoặc bạn được thông báo rằng bạn không có quyền truy cập cần thiết để giết tiến trình, hãy thử nó như rootvới sudo.

(Nhân tiện, kill -KILLgiống như phổ biến rộng rãi kill -9. Tôi khuyên bạn kill -KILLSIGKILLkhông được đảm bảo có 9số tín hiệu trên tất cả các nền tảng. Nó hoạt động trên x86, nhưng điều đó không có nghĩa là nó sẽ nhất thiết phải hoạt động ở mọi nơi. Theo cách này, kill -KILLcó nhiều khả năng kết thúc quá trình thành công hơn kill -9. Nhưng chúng tương đương trên x86, vì vậy hãy thoải mái sử dụng nó ở đó nếu bạn muốn.)

Nếu bạn biết không có quy trình nào khác có cùng tên với quy trình bạn muốn giết, bạn có thể sử dụng killallthay vì killvà tên của quy trình thay vì số ID quy trình.

Một quá trình độc quyền tài nguyên CPU

Nếu một quá trình chạy ở hoặc rất gần ưu tiên cao nhất có thể (hoặc trạng thái nó đúng hơn, tại hoặc gần thấp nhất có thể giá trị nice ), nó có thể có khả năng làm cho giao diện người dùng đồ họa của bạn hoàn toàn hoặc gần như hoàn toàn, không phản hồi. Tuy nhiên, trong tình huống này, bạn có thể sẽ không thể chuyển sang bảng điều khiển ảo và chạy các lệnh (hoặc thậm chí có thể khởi động lại).

Nếu một quá trình hoặc sự kết hợp của các quá trình đang chạy ở mức ưu tiên cao hoặc bình thường đang làm chậm máy của bạn, bạn sẽ có thể tiêu diệt chúng bằng cách sử dụng kỹ thuật trong phần trên. Nhưng nếu chúng là các chương trình đồ họa, bạn cũng có thể giết chúng bằng cách nhấp vào nút đóng trên cửa sổ của chúng - môi trường máy tính để bàn sẽ cung cấp cho bạn tùy chọn để giết chúng nếu chúng không phản hồi. Nếu điều này không hiệu quả, tất nhiên bạn có thể (gần như) luôn giết chúng cùng kill -KILL.

Vấn đề I / O

Lỗi I / O có thể gây ra sự không đáp ứng kéo dài (thậm chí là vĩnh viễn). Điều này có thể là do lỗi kernel và / hoặc trình điều khiển lỗi. Cách giải quyết một phần là để tránh các thao tác đọc và / ghi nặng và đồng thời (ví dụ: không sao chép hai tệp lớn cùng một lúc, trong hai quy trình sao chép đồng thời; không sao chép tệp lớn trong khi xem video HD hoặc cài đặt một video HD HĐH trong một máy ảo).

Điều này rõ ràng là không thỏa đáng và giải pháp thực sự là tìm ra vấn đề và báo cáo nó. Trừ khi bạn đang chạy kernel mainline từ kernel.org , các lỗi kernel sẽ được báo cáo theo gói linuxtrong Ubuntu (vì Ubuntu cung cấp các bản dựng kernel đặc biệt tích hợp các bản vá dành riêng cho distro và các báo cáo lỗi không được xác nhận đối với kernel mainline sẽ bị từ chối tại hạt nhân.org ). Bạn nên làm điều này bằng cách chạy ubuntu-bug linux(hoặc apport-cli linux) trên máy bị ảnh hưởng. Xem tài liệu báo cáo lỗi Ubuntu trước; nó giải thích làm thế nào để làm điều này đúng.

Vấn đề về card đồ họa

Một số khóa GUI có thể được gây ra bởi các vấn đề về card đồ họa. Có một vài điều bạn có thể thử, để giảm bớt điều này:

  1. Tìm kiếm trên web để xem những người khác có gặp phải sự cố tương tự với cùng một thẻ video (và / hoặc chế tạo và kiểu máy) trên Ubuntu hoặc các bản phân phối GNU / Linux khác không. Có thể có các giải pháp cụ thể hơn những gì tôi có thể cung cấp trong câu trả lời này, mà không có thông tin cụ thể hơn hiện tại trong câu hỏi của bạn.

  2. Xem nếu trình điều khiển video khác nhau có sẵn để bạn thử. Bạn có thể làm điều này bằng cách kiểm tra trong Trình điều khiển bổ sung; bạn cũng có thể tìm kiếm trên web để xem trình điều khiển Linux nào có sẵn cho thẻ video của bạn. Hầu hết các thẻ video độc quyền là Intel, AMD / ATi hoặc Nvidia (nhấp vào các liên kết đó để xem tài liệu cộng đồng về cài đặt và sử dụng trình điều khiển độc quyền cho các thẻ này trong Ubuntu). Đối với Intel, tốt nhất bạn nên gắn bó với trình điều khiển FOSS có trong Ubuntu, nhưng vẫn có thông tin hữu ích mà bạn có thể sử dụng. Bất kể bạn có thẻ gì, thông tin chung này có thể giúp ích.

    Nếu bạn hiện đang sử dụng trình điều khiển độc quyền, bạn có thể thử sử dụng các trình điều khiển độc quyền khác (ví dụ: trực tiếp từ NVidia hoặc AMD / ATi) hoặc thay vào đó, bạn có thể thử sử dụng trình điều khiển nguồn mở miễn phí.

  3. Hãy thử chọn loại phiên đăng nhập đồ họa không yêu cầu / sử dụng tăng tốc đồ họa. Để thực hiện việc này, hãy đăng xuất và trên màn hình đăng nhập đồ họa, nhấp vào biểu tượng hoặc biểu tượng bánh răng Ubuntu gần tên đăng nhập của bạn. Một menu thả xuống được hiển thị. Thay đổi lựa chọn từ Ubuntu sang Ubuntu 2D . Điều này khiến bạn sử dụng Unity 2D thay vì Unity . (Nếu bạn đang sử dụng Gnome Shell , bạn có thể chọn Gnome Fallback / Gnome Classic thay thế.) Nếu nghi ngờ và có một lựa chọn nói "không có hiệu ứng", hãy chọn điều đó, vì đó có lẽ là an toàn nhất.

    Câu hỏi này có thêm một số thông tin về các giao diện đồ họa khác nhau mà bạn có thể chọn giữa Ubuntu.

  4. Trong các phiên bản mới hơn của Ubuntu, bạn có thể chọn giữa X.org và Wayland trên màn hình đăng nhập. Bất cứ khi nào bạn đang sử dụng, hãy thử cái khác. Đôi khi, một vấn đề với Wayland có thể được khắc phục bằng cách sử dụng X.org hoặc ngược lại.

  5. Báo cáo lỗi.

Hy vọng rằng thông tin trên đã truyền đạt một số thông tin chung về những gì có thể gây ra loại vấn đề này. Nó cũng sẽ phục vụ để chiếu sáng loại thông tin nào có thể hữu ích cho bạn để thêm vào câu hỏi của bạn (tùy thuộc vào chi tiết cụ thể của vấn đề), để có thể có được câu trả lời thậm chí tốt hơn. (Hoặc để cải thiện câu trả lời này với thông tin bổ sung cụ thể cho tình huống của bạn.)


1
Các mẹo được thực hiện tốt để khắc phục sự cố treo.
Charac mát mẻ

Nếu bàn phím ngừng phản hồi thì không thể sử dụng Ctrl + Alt + FN
szx

6

Có, cách dễ nhất để lưu trữ điều này, là kích hoạt các khóa để giết máy chủ Xorg và khởi chạy lại phiên X.

Để bật tính năng này, hãy mở Cài đặt hệ thống -> Tùy chọn bố trí bàn phím (hoặc sử dụng keyboardlệnh trong giao diện Unity, nhấn AltF2) và kiểm tra tùy chọn này:

Ctrl + Alt + Xóa lùi

nhập mô tả hình ảnh ở đây

Vì vậy, khi nó bị treo, nhấn CtrlAltBackspacesẽ giết máy chủ X và lightdm sẽ khởi chạy lại giao diện đăng nhập


Alt+Print+Ksẽ làm như vậy ra khỏi hộp, không?
Bobby
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.