当前位置: 首页>>技术问答>>正文


当Ubuntu冻结时我应该怎么做?

,

问题描述

所有操作系统有时会冻结,Ubuntu也不例外。我应该怎样做才能重获控制权……

  • 只有一个程序停止响应?

  • 什么都不回应鼠标点击或按键?

  • 鼠标完全停止移动?

  • 我有一个Intel Bay Trail CPU?

在决定拔电源插头之前,我应该以什么顺序尝试各种解决方案?

启动Ubuntu时应该怎么做?是否有可以遵循的诊断程序?

最佳解决办法

当一个程序停止工作时:

当程序窗口停止响应时,通常可以通过单击窗口左上角的X-shaped关闭按钮来停止它。这通常会导致出现一个对话框,指出程序没有响应(但您已经知道),并向您提供杀死程序或继续等待它响应的选项。

有时候这并不像预期的那样工作。如果您无法通过常规方式关闭窗口,则可以点击Alt + F2,键入xkill,然后按Enter。您的鼠标光标将变为X.将鼠标悬停在违规窗口上并将left-click关闭。右击将取消并将鼠标恢复正常。

另一方面,如果您的程序是从终端运行的,则通常可以通过Ctrl + C停止。如果不是,则为find the name and process ID of its command,并告诉程序尽快用kill [process ID here]结束。它发送默认信号SIGTERM(15)。如果一切都失败了,作为最后的手段发送SIGKILL(9):kill -9 [process ID here]。请注意,您应该只使用SIGKILL作为最后的手段,因为该进程将被内核立即终止而无需清理。它甚至没有得到信号 – 它只是停止存在。

(杀死一个由kill -9执行的进程,如果你有权限杀死,那么这个进程是有效的,在某些特殊情况下,进程仍然被ps或者top(“zombie”)列出 – 在这种情况下,程序被终止,但进程表保存,请稍后再说吧。)

当鼠标停止工作时:

如果键盘仍然工作,请按Alt + F2并运行gnome-terminal(或者,如果这些启动失败,请按Alt + Ctrl + F1并使用您的用户名和密码登录)。从那里你可以解决事情。我不打算在这里进入鼠标故障排除,因为我没有研究它。如果您只想尝试重新启动GUI,请运行sudo service lightdm restart。这应该会降低GUI,然后尝试重新生成,使您回到登录屏幕。

当您拥有英特尔Bay Trail CPU时

参见https://askubuntu.com/a/803649/225694

当一切,键和鼠标等全部停止工作时:

首先尝试Phoenix’ answer中概述的Magic SysReq方法。如果这不起作用,请按电脑机箱上的重置按钮。如果即使这样也行不通,你只需要power-cycle机器。你可能永远达不到这一点。

次佳解决办法

如果它完全锁定,你可以REISUB它,这是一个更安全的选择,只是冷重启电脑。

REISUB通过:

按住AltSysReq (Print Screen)键,键入R E I S U B

R:  Switch to XLATE mode
E:  Send Terminate signal to all processes except for init
I:  Send Kill signal to all processes except for init
S:  Sync all mounted file-systems
U:  Remount file-systems as read-only
B:  Reboot

如果你需要记住它的话,REISUB就会变得繁忙,就像“系统比它应该忙得多”一样。或者通过助记 – R eboot; E ven;我f;系统;完全; B打破了。

这是SysReq键:

bug-reporting,ubuntu

注:与重新启动整个系统相比,存在更少激进的方式。如果SysReq键有效,则可以使用Alt + SysReq + F来终止进程one-by-one。内核每次都会杀死大多数“昂贵”的进程。如果要杀死一个控制台的所有进程,可以发出Alt + SysReq + K

注意:您应明确启用这些组合键。 Ubuntu提供sysrq默认设置176(128 + 32 + 16),它允许只运行REISUB组合的SUB部分。您可以将其更改为1,或者这可能更少有害,244。要这样做:

sudo nano /etc/sysctl.d/10-magic-sysrq.conf

并将开关176切换到244;然后

echo 244 | sudo tee /proc/sys/kernel/sysrq

它会立即工作!您可以按Alt + SysReq + F进行测试。对我来说,它杀死了活动浏览器标签,然后是所有扩展。如果您继续,您可以重新启动X服务器。


有关所有Alt + SysReq功能here的更多信息。

第三种解决办法

您可以使快捷键Ctrl + Alt + Delete打开系统监视器,使用该系统监视器可以终止任何无响应的应用程序。

  1. 打开系统➜首选项➜键盘快捷键,然后单击添加。在命令字段中,输入gnome-system-monitor。根据需要命名快捷方式。

bug-reporting,ubuntu

  1. 点击“应用”,然后点击“已禁用”。现在点击键Ctrl + Alt + Delete

bug-reporting,ubuntu

  1. 关闭键盘快捷键并尝试快捷键:

bug-reporting,ubuntu

第四种办法

如您所描述的冻结可能是软件和硬件相关的,因为您发现有时难以诊断。

Hardware

如果这是台式电脑,请看你的hardware-cards。对于笔记本电脑和台式机都可能是acpi类型的问题。

暂时简化配置以使显卡与标准键盘和鼠标连接可能会很有用。所有其他卡应该被删除。

对于acpi相关问题,请尝试在grub启动选项中使用noapic nomodeset启动。它也值得尝试acpi=off,尽管这可能会有其他不良影响,例如恒定的风扇使用。

同样值得检查bios版本级别,看看厂商是否有更新的bios版本。自述文件应该有希望揭示是否有更新的版本修复了崩溃和死机。

Software

我注意到你已经尝试过270名标准车手,但因冻结而失败。你能澄清,如果你有与open-source驱动程序类似的问题?显然你在测试这个时不会得到Unity。

图形冻结可以是驱动程序/compiz /X /内核中的一个或其组合

如果您愿意尝试以下任何建议,请首先使用一个良好的备份工具(如CloneZilla)备份您的系统。您将需要外部媒体设备来接收图像,例如大型USB存储棒/驱动器或独立的内部hard-drive。

安装更新的nVidia驱动程序

使用Additional Drivers窗口关闭(卸载)当前的173-nvidia驱动程序。

有一小部分重要修复主要在275稳定版本中,但280beta版本中的一小部分修复了冻结 – 值得一试,看看它们是否适用于您的显卡。不幸的是,nvidia没有详细说明他们特别修复了哪些卡片(readme.txt)

但是 – 我会强烈建议备份,除非你对逆转nvidia安装感到有信心 – 特别是因为你对270稍微老一点的驱动程序有严重的问题。我已经无数次地使用了clonezilla,并且一直让我摆脱困境。你确实需要一个大的外部驱动器 – USB棒/外部驱动器或单独的驱动器。

X更新

最新的图形驱动程序已包装在x updates ppa中。

注意 – 这会导致您远离标准基线 – 如果在升级之前升级未来的ppa-purge PPA本身。

您也可以手动安装nVidia的驱动程序:

尝试安装最新的nvidia stable 275或280驱动程序 – 32bit 280 drivers: ftp site64bit: 280 drivers: ftp site

安装

CTRL + ALT + F1切换到TTY1并登录

sudo service gdm stop

停止X服务器

sudo su

以root身份运行

cd ~/Downloads
sh NVIDIA-Linux-x86-280.04.run

要安装32位驱动程序(相当于64位),然后重新启动。

卸载

sudo sh NVIDIA* --uninstall

同时删除/etc/X11/xorg.conf

X /核心/Compiz的

如果你运行带有效果的经典Ubuntu,你会得到与标准Ubuntu相同的冻结问题吗?如果你不能用经典的Ubuntu(没有效果)重现冻结,那么这将指向你一个compiz问题。我会向compiz团队提出一个启动板错误报告。

如果空间可用(例如20Gb),则可以与最新的oneiric alpha一起进行双引导/安装。显然这本身不稳定,但它会随着最新的X和内核而来。您可能还需要手动安装以上beta 280图形驱动程序,因为它可能不会在其他驱动程序窗口中提供。

如果在测试过程中您看不到相同的冻结活动,您可以尝试使用x-edgers ppa提升X版本,并在Natty中使用内核内核3.0。走这条路线并不是真的令人满意 – 并且可能会导致您在将来升级问题 – 并且可能还有其他不可预见的稳定性问题。再次使用ppa-purge删除PPA。

Kernel 3.0与PPA一起打包 – 如果您打算稍后安装nvidia驱动器,则必须在重新启动之前从突触中安装标头以及内核本身。

这是一个测试ppa – 如果你想尝试这条路线,请准备好备份。

第五种办法

如果你遇到很多死机,你的硬件可能会出现问题。由于某些内存不够理想,我以前每隔48小时就会遇到一次硬锁定。 Memtest86 +在40分钟的测试后显示错误。将RAM更换一些(保修期内),我现在在32天,1小时的正常运行时间。

Ubuntu不会像Windows一样随着时间的推移泄漏你的内存。即使一个应用程序或一个差的X视频驱动程序都可以,您可以非常简单地重新启动LigthtDM,只需继续前进即可。我已经在这一次启动中通过了nvidia驱动程序的三个测试版本:)

无论如何…虽然知道如何轻松重启是非常方便的事情,但查找,报告和修复系统应该是您的下一个重点。如果它是always-on系统,您应该可以轻松地在不需要重新启动的情况下在内核更新*之间进行创建。

*当你得到内核更新时你应该重新启动,因为它们将会是安全修复程序,直到你重新启动到新的内核之后才会被应用。

第六种办法

当一切停止工作时,首先尝试Ctrl + Alt + F1去终端,在那里你可能会杀死X或其他问题进程。

如果即使这样也行不通,请尝试按住Alt + SysReq,同时按下(缓慢,每次之间几秒钟)R E I S U B

这使键盘处于原始模式,结束各种状态的任务,同步磁盘等,最后重新引导机器。你会得到更好的结果,而不仅仅是拉动插头。当然,如果这样做失败了,你几乎不用拔插头。

第七种办法

另外,有时候它只是挂起的X-Server–这是我在使用Compiz时最常见的一种情况。

如果是这种情况,您可以杀死X,它会重新启动,并将您放回到log-in屏幕。

默认顺序是Ctrl + Alt + Backspace

虽然这是默认关闭的(推测new-users意外击中它),并且可以像这样重新开启:

  1. SystemKeyboard(即键盘首选项对话)

  2. 布局选项卡

  3. 点击选项按钮

  4. 在关键序列中杀死X服务器点检查Ctrl + Alt + Backspace

第八种办法

我的第一个喜欢当总冻结发生 – Alt + SysRq + K

该组合杀死X,并将我返回到图形登录屏幕。如果还是不行,请尝试Alt + SysRq + R E I S U B

第九种办法

在这种情况下,您可以尝试CTRLALTF1以进入控制台。然后用您的密码登录。

重新启动GUI

您可以尝试使用以下命令重新启动图形桌面:

sudo service lightdm restart

如果你正在运行Ubuntu 11.04或更早的版本,你应该使用它(因为gdm曾经是默认的显示管理器):

sudo service gdm restart

如果你使用的是Kubuntu,那么默认的显示管理器是kdm,所以你应该使用:

sudo service kdm restart

如果您使用的是其他显示器管理器,请用名称替换ligthdm /gdm /kdm

重新启动机器

如果你想做一个干净的系统重启,使用:

sudo shutdown -r now

第十种办法

DoR和Phoenix已经很好地回答了这个问题。为了使这个页面更完整我会补充:

如果只有X是”broken”,则可以使用内核来杀死它:

SysRq + Alt + K

对于笔记本电脑(取决于型号,如果”SysRq”以蓝色写入,则通常需要):

Fn + SysRq + Alt + K(按下SysRq后释放Fn)。

参考资料

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