当前位置: 首页>>技术教程>>正文


linux – 如何修复无响应的Ubuntu系统?

, , ,

问题描述

我使用Ubuntu。有时,系统对鼠标和键盘没有任何响应。除了点击机器上的“重置”按钮外,还有什么方法可以解决此问题?

最佳方案

如果您想要一种重启方式,而不保存打开的文档,但又不点击“重置”按钮,那么有些方式不太可能导致数据丢失。首先,尝试Ctrl + Alt + F1。正如ixtmixilix所说,这应该带您到virtual console。进入虚拟控制台后,Ctrl + Alt + Delete将关闭并重新启动计算机。

如果该技术不起作用,那么总会有Alt + SysRq + REISUB。

至于在不重新启动的情况下解决问题,而又没有更多有关正在发生的事情的信息,将很难给出一个好的答案。如果您可以描述发生这种情况的情况(最好的方法是编辑您的问题以添加信息),那么这可能会帮助人们提供良好的答案。要考虑的另一件事是,如果您的计算机变得无响应,尤其是Ctrl + Alt + F1花费多于几秒钟的时间来启动虚拟控制台,那么您几乎肯定有一个错误,并且reporting it您既可以帮助社区,也可以得到答案。

GUI故障导致WM或X11 /Wayland无法响应

这可能是由于应用程序和窗口管理器(或X11服务器或Wayland)之间的交互而发生的。这是问题本质的一种迹象,是应用程序停止响应并阻止您使用键盘或鼠标向其他应用程序窗口输入输入。 (没有应用程序可以执行此操作;某些GUI组件中必须存在错误才能使之发生。)如果发生’s what’,那么您可以在虚拟控制台中终止有问题的进程(如ixtmixilix所暗示):

  1. Ctrl + Alt + F1

  2. 登录。输入密码后,您将看不到任何内容。 That’s normal.

  3. 使用类似ps的实用工具来找出有问题的程序的进程名称。有时在Ubuntu中这很容易,而在其他时候则并非如此。例如,存档管理器进程的名称是file-roller。如果您在查明信息时遇到问题,通常可以在网上找到信息而不会遇到太大麻烦(或者,如果不能,则可以发布有关此问题的信息)。

    您可以将ps的输出通过管道传递到grep以缩小范围。假设是造成问题的存档管理器。然后,您可以运行:

    ps x | grep file-roller
    

    您将看到自己的grep命令的条目,以及file-roller的条目。

  4. 尝试使用SIGTERM终止有问题的过程。这使它有机会进行last-minute清理,例如刷新文件缓冲区,向远程服务器发出即将断开连接的信号(对于执行此操作的协议)以及释放其他种类的资源。为此,请使用kill命令:

    kill PID

    其中,PID是您要终止的进程的process ID number,是从步骤3中运行ps获得的。

  5. SIGTERM是坚定要求退出流程的一种方式。该过程可以忽略该信号,并且在某些情况下会在故障时这样做。因此,您应该检查一下它是否起作用。如果不是,请使用SIGKILL杀死它,它不能忽略它,并且总是可以正常工作,除非在极少数情况下该进程在uninterruptible sleep中(或者它不是真正在运行,而是一个zombie process)。

    两者都可以检查该进程是否仍在运行,并使用SIGKILL杀死该进程(仅使用一个命令):

    kill -KILL PID

    如果您收到类似kill: (PID) - No such process的消息,则知道使用SIGTERM杀死它是可行的。如果没有输出,则说明SIGTERM无法正常工作。在这种情况下,SIGKILL可能会这样做,但是值得再次运行以进行检查。 (按向上箭头键可以调出以前的命令,以便于键入。)

  6. 在极少数情况下,对于您自己的进程,或者总是带有属于root或您自己之外的其他用户的进程,您必须以root的身份杀死该进程。为此,请在上述kill命令之前添加sudo (包括尾随空格)。如果上述命令无效,或者被告知您没有必要的权限来终止该进程,请尝试将rootsudo一起使用。

(顺便说一下,kill -KILL与广泛流行的kill -9相同。我建议kill -KILL,因为不能保证SIGKILL在所有平台上都具有9作为其信号编号。它不一定能在所有x86上都可以使用,但这并不意味着可以在x86上使用,但这并不意味着通过这种方式,kill -KILLkill -9更可能成功结束该过程。但是它们在x86上是等效的,因此可以随意在其中使用它。)

如果知道没有其他进程与要杀死的进程具有相同的名称,则可以使用killall代替kill,并使用进程的名称代替进程ID号。

独占CPU资源的进程

如果某个进程以最高优先级或在最高优先级附近运行(或者更确切地说,在最低优先级niceness上运行),则可能完全使您的图形用户界面或near-completely无响应。但是,在这种情况下,您可能将无法切换到虚拟控制台并运行命令(甚至重启)。

如果以正常或中等优先级运行的一个进程或多个进程的组合使您的计算机运行速度减慢,则应该能够使用上一节中的方法将其杀死。但是,如果它们是图形程序,则您也可以通过单击其窗口上的关闭按钮来杀死它们-桌面环境将为您提供选择,使其无法响应。如果这不起作用,您当然可以(几乎)始终使用kill -KILL杀死它们。

I /O问题

越野车I/O可能导致长时间(甚至永久)无反应。这可能是由于内核错误和/或错误驱动程序引起的。一种解决方法是避免繁重的同时读取和/或写入操作(例如,不要在两个同时复制过程中一次复制两个大文件;不要在观看高清视频或安装DVD时复制一个大文件)。虚拟机中的操作系统)。

这显然是不能令人满意的,真正的解决方案是找到问题并报告。除非您正在从kernel.org运行主线内核,否则应针对Ubuntu中的软件包linux报告内核错误(因为Ubuntu提供了集成distro-specific补丁的特殊内核构建,并且未针对主线内核确认的错误报告将在kernel.org拒绝)。您应该通过在受影响的计算机上运行ubuntu-bug linux(或apport-cli linux)来执行此操作。首先查看Ubuntu bug reporting documentation;它说明了如何正确执行此操作。

显卡问题

图形卡问题可能导致某些GUI锁定。您可以尝试一些方法来减轻这种情况:

  1. 在网上搜索,看看其他人在Ubuntu或其他GNU /Linux发行版上使用相同的视频卡(和/或机器的型号)时是否遇到了类似的问题。可能有比我在此答案中提供的解决方案更具体的解决方案,而没有比您的问题当前更具体的信息。

  2. 查看是否有其他视频驱动程序可供您尝试。您可以通过签入其他驱动程序来完成;您还可以在网上搜索以查看视频卡可用的Linux驱动程序。大多数专有视频卡是Intel,AMD/ATiNvidia(单击这些链接以查看有关在Ubuntu中为这些卡安装和使用专有驱动程序的社区文档)。对于Intel,最好不要使用Ubuntu中提供的FOSS驱动程序,但仍然可以使用helpful information。无论您拥有哪种卡,this general information都可以提供帮助。如果当前正在使用专有驱动程序,则可以尝试使用其他专有驱动程序(例如,直接来自NVidia或AMD /ATi),或者可以尝试使用免费的开源驱动程序。

  3. 尝试选择不需要/不使用图形加速的图形登录会话类型。为此,请注销,然后在图形登录屏幕上单击登录名附近的Ubuntu徽标或齿轮图标。显示drop-down菜单。将选择从Ubuntu更改为Ubuntu 2D。这使您可以使用Unity 2D而不是Unity。 (如果使用GNOME Shell,则可以选择GNOME Fallback /GNOME Classic。)如果有疑问,并且有一个选项说“没有效果”,请选择该选项,因为这可能是最安全的。 This question提供了有关在Ubuntu中可以选择的不同图形界面的更多信息。

  4. 在较新版本的Ubuntu中,您可以在登录屏幕上在X.org和Wayland之间进行选择。无论您使用哪种方式,都可以尝试另一种。有时,可以使用X.org解决Wayland的问题,反之亦然。

  5. Report a bug.

希望以上信息传达了有关可能导致这种问题的一些常规信息。它还应有助于阐明什么样的信息可能对您添加到您的问题中很有用(取决于问题的具体细节),从而有可能获得更好的答案。 (或者使用针对您情况的其他信息来改善此答案。)

次佳方案

是的,最简单的存档方法是启用密钥以杀死Xorg服务器和re-launch X会话。

要启用此功能,请打开系统设置->键盘布局选项(或在Unity界面中使用keyboard命令,点击Alt F2),然后检查以下选项:

Ctrl + Alt + Backspace

因此,当挂起时,点击Ctrl Alt Backspace将杀死X服务器,并且lightdm将re-launch登录界面

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8493.html,未经允许,请勿转载。