所有操作系统有时会冻结,Ubuntu也不例外。我应该怎么做才能重新获得控制权......
在决定拔下电源插头之前,我应该以什么顺序尝试各种解决方案?
启动Ubuntu时我该怎么办?我可以遵循诊断程序吗?
程序窗口停止响应时,通常可以通过单击窗口左上角的X形关闭按钮来停止响应。这通常会导致一个对话框说明程序没有响应(但你已经知道了)并向你提供了杀死程序或继续等待它响应的选项。
有时这不会按预期工作。如果你不能通过正常方式关闭窗口,你可以点击 Alt+F2,键入xkill
,然后按 Enter。然后您的鼠标光标将变为X。将鼠标悬停在违规窗口上并左键单击以将其终止。右键单击将取消并将鼠标恢复正常。
另一方面,如果你的程序是从终端运行的,你通常可以暂停它 Ctrl+C。如果没有, 找到其命令的名称和进程ID ,并告诉程序尽快使用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,然后GUI将尝试重新生成,将您带回登录屏幕。
见 https://askubuntu.com/a/803649/225694 。
首先尝试在 凤凰'答案 中概述的Magic SysReq方法。如果不起作用,请按计算机机箱上的重置按钮。如果即使这样也行不通,你只需要重启机器。
愿你永远不会达到这一点。
如果它完全锁定,你可以REISUB它,这是一个更冷的重新启动计算机的更安全的替代品。
REISUB:
在抱着 Alt 和 SysReq (Print Screen) 键,类型 REISUB。
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就会向后倒流,就像“系统是更加繁忙比它应该是”一样。或者助记 - Reboot; Even; If; System; Utterly; Broken。
这是SysReq密钥:
注意:没有比重启整个系统更激进的方法。如果 SysReq 关键工作,您可以使用逐个杀死进程 Alt+SysReq+F。内核每次都会杀掉大部分“昂贵”的进程。如果要终止一个控制台的所有进程,可以发出 Alt+SysReq+K。
注意:您应该明确启用这些组合键。 Ubuntu附带sysrq默认设置176(128 + 32 + 16),它允许仅运行SUB部分REISUB组合。您可以将其更改为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 Server。
关于所有的更多信息 Alt+SysReq 函数 这里 。
如您所述的冻结可能与软件和硬件相关,并且您发现有时令人沮丧地难以诊断。
如果这是台式电脑,请查看您的硬件卡。对于笔记本电脑和台式机都可能出现acpi类型问题。
暂时简化配置以使图形卡与标准键盘和鼠标连接可能很有用。应删除所有其他卡。
对于与acpi相关的问题,请尝试在grub引导选项中使用noapic nomodeset
启动。它也值得尝试acpi=off
虽然这可能有其他不良影响,如恒定的风扇使用。
还值得检查BIOS版本级别,看看供应商是否有更新的BIOS版本。自述文件应该有希望揭示是否有任何新版本修复崩溃和冻结。
我注意到你已经尝试过标准的270驱动程序,但由于冻结而失败了。您是否可以澄清您是否与开源驱动程序有类似的问题?显然,在测试过程中你不会得到Unity。
图形冻结可以是驱动程序/ compiz/X /内核之一/或其组合
如果您愿意首先尝试以下任何建议,请使用CloneZilla等备份工具备份您的系统。您将需要一个外部媒体设备来接收图像,如大型USB记忆棒/驱动器或单独的内部硬盘驱动器。
使用Additional Drivers窗口停用(卸载)当前的173-nvidia驱动程序。
主要在275稳定中有一些重要的修复,但280beta中的一小部分修复了固定的冻结 - 值得一试,看看它们是否适用于你的显卡。不幸的是,nvidia没有详细说明他们专门修复哪些卡(readme.txt)
但是 - 除非你对扭转nvidia安装有信心,否则我强烈建议备份 - 特别是因为你对270岁以上的驱动程序存在严重问题。我已经无数次地使用了clonezilla,它总是让我摆脱困境。您确实需要一个大型外部驱动器 - USB记忆棒/外部驱动器或单独的驱动器。
X更新
最新的图形驱动程序已经打包在 x updates ppa 。
注意 - 这将使您远离标准基线 - 如果将来在升级之前升级PPA本身ppa-purge
。
您也可以从nVidia手动安装驱动程序:
尝试安装最新的nvidia稳定275或280驱动程序 2位280驱动程序:ftp站点 和 64位:280驱动程序:ftp站点
安装
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
如果您使用效果运行经典Ubuntu,您会遇到与标准Ubuntu相同的冻结问题吗?如果您无法使用经典的Ubuntu(无效果)重现冻结,那么这将指向您的compiz问题。我会向compiz团队提出一个启动板错误报告。
如果空间可用(例如20Gb),您可以双引导/安装以及最新的oneiric alpha。显然这本身就是不稳定的,但它会带有最新的X和内核。您可能还需要手动安装上面的beta 280图形驱动程序,因为它可能不会在“附加驱动程序”窗口中提供。
如果在测试过程中你没有看到相同的冻结活动,你可以尝试使用 x-edgers ppa 并在Natty中使用内核内核3.0来提升你的X版本。走这条路并不是真正可取的 - 并且可能导致您将来升级问题 - 并且可能还有其他无法预料的稳定性问题。再次,使用ppa-purge
删除PPA。
内核3.0与PPA一起打包 - 如果您打算稍后安装nvidia驱动器,则需要在重启之前从synaptic安装头文件和内核本身。
这是一个测试ppa - 如果您想尝试这条路线,请准备好备份。
如果你遇到很多冻结,那么可能你的硬件出了问题。由于一些不太理想的RAM,我曾经每48小时获得一次硬锁定。 Memtest86 +在测试40分钟后显示故障。把RAM换了一些(保修期内),我现在是32天,1小时的正常运行时间。
Ubuntu不会像Windows一样随着时间的推移泄漏其内存。即使一个应用程序或一个糟糕的X视频驱动程序,你可以非常简单地重新启动LigthtDM,只是继续前进和前进。我实际上在这一个启动中经历了三个测试版的nvidia驱动程序:)
无论如何......虽然知道如何轻轻地重新启动是一件非常方便的事情,但查找,报告和修复系统应该是您的下一个优先事项。如果它是一个永远在线的系统,你应该能够轻松地在内核更新*之间进行,而无需重启。
*你应该当你获得内核更新时重新启动,因为它们将是安全修复程序,在你重新启动到新内核之前不会应用它们。
当一切都停止工作时,首先尝试 Ctrl + Alt + F1 去终端,在那里你可能会杀死X或其他问题进程。
即使这不起作用,尝试使用按住 Alt + SysReq 按下时(慢慢地,每次之间有几秒钟) REISUB。
这使键盘处于原始模式,以各种状态结束任务,同步磁盘等,最后重新启动计算机。这样做比获得插头更好。当然,如果这个失败了,你几乎就要拔掉插头了。
此外,有时它只是挂起的X-Server - 我在你使用Compiz时经常发现的一个案例。
如果是这种情况,您可以杀死X,这将重新启动并让您回到登录屏幕。
默认顺序是 Ctrl + Alt + Backspace
虽然默认情况下这是关闭的(可能是新用户不小心碰到了它)并且可以像这样重新打开:
System
→Keyboard
(即键盘首选项对话)总冻结时我的第一个喜欢 - Alt + SysRq + K。
该组合杀死了X,并将我返回到图形登录屏幕。如果这不起作用,请尝试 Alt + SysRq + REISUB。
在这种情况下,你可以尝试 CTRL - ALT - F1 去控制台。然后使用您的密码登录。
您可以尝试使用以下命令重新启动图形桌面:
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被“破坏”,那么你可以使用内核来杀死它:
SysRq + Alt + K
对于笔记本电脑(取决于型号,如果“SysRq”以蓝色写入,通常需要):
Fn + SysRq + Alt + K (发布 Fn 按下后 SysRq)。
我做的是用例如打开一个终端。 Ctrl + Alt + F2
登录并使用终端来终止滞后的进程
ps -e | grep <procesname>
这显示了具有该名称的进程的processID
(Sudo) kill <processID>
如果不起作用,这将安全地关闭过程
(Sudo) kill -9 <processID>
有关这些命令的更多信息,请使用手册页。
你可以回到图形用户界面 Ctrl + Alt + F7
要诊断冻结,您应该能够使用网络控制台(或串行串行控制台)。按照概述的设置说明 这里 。
首先要看的是它是冻结的X还是整个系统。启用ssh然后ssh进入系统。如果你不能进入它,那么它可能是一个内核锁定。如果你can ssh in,那么它可能只是一个gpu锁定。
接下来尝试重新启动X.通过重新启动显示管理器来执行此操作:
在Ubuntu 11.10及更高版本中,LightDM是显示管理器,因此运行:
service lightdm restart
在Ubuntu 11.04及更早版本中,GDM是显示管理器,因此运行:
service gdm restart
如果这样可行,那么它可能是一个X bug。如果它仍然不起作用,那么你可能在内核drm驱动程序中有一个GPU锁定。在这一点上知道你是在运行-ATI(开源)驱动程序还是运行-fglrx(闭源)驱动程序会很有用。
如果你必须做一个硬关机,我想知道内存(RAM)是否失败。在下次启动时,请尝试运行memtest86。去做这个:
您将获得一个基本显示,它将尝试读取并写入所有RAM的大量值。只要没有失败,您就会看到绿色状态。如果有任何故障,它将变为红色。在这种情况下,您需要更换至少一根RAM。
还有 诊断硬件故障的社区文档 。
如果您使用第一个答案中建议的magic SysRq
键,只需尝试让键盘首先使用 Alt + SysRq + R;然后试试 Ctrl + Alt + F1 再次。
它可能会工作,你可以节省自己重启。只有它不起作用你应该尝试整个REISUB序列。
按下 Ctrl+Alt+F1 在键盘上打开TTY1。打开时,运行Kill命令。以下示例。
首先你使用:ps这将显示所有正在运行的进程(“ps | less”如果你想逐页查看结果)然后你寻找要终止的进程的PID。使用完毕后:kill pid
kill命令 - 停止进程运行
语法:kill [-s sigspec] [-n signum] [-sigspec] jobspec或pid kill -l [exit_status]
描述:大多数现代贝壳,包括Bash,都有内置的杀戮功能。在Bash中,信号名称和数字都是
作为选项接受,参数可以是作业或进程ID。可以使用-l选项报告退出状态:当至少一个信号成功发送时为零,如果发生错误则为非零。使用/ usr/bin中的kill命令,您的系统可能会启用额外的选项,例如能够从您自己的用户ID以外的方式终止进程并按名称指定进程,例如pgrep和pkill。如果没有给出,则两个kill命令都发送TERM信号。
来源: http://www.linuxforums.org/forum/newbie/53976-end-tasks-linux-like-task-manager-windows.html
我认为没有一个完美的发行版,即使在Windows中他们也有这个死亡画面。
打开另一个终端 Ctrl + Alt + F2。
使用您的用户名和密码登录。
发出以下命令:
Sudo /etc/init.d/gdm restart
这会重新启动或退出当前会话,但不会重新启动。
然后 Ctrl + Alt + F7 回到你的图形界面。
最简单的解决方案是将“Force Quit” applet添加到您的Gnome顶部面板,当程序没有响应时,单击强制退出然后单击应用程序。
我很惊讶这么多的答案,这没有提到。当然,您可以随时执行ps -A
并将其传递给grep
作为您的程序名称。和kill -9
那个。我更喜欢简约。
SOLUTION:
解决了它。
我的特殊问题是我的显卡(集成Radeon 9000系列)。 netconsole透露我收到错误:"reserve failed for wait"
。在反复试验后,我手动配置了我的视频卡并禁用了硬件加速。完全解决了这个问题。
这是我做的:
手动创建xorg.conf
Ubuntu自动配置xorg.conf并且不使用文件。要编辑此文件,您必须告诉Ubuntu显式创建一个然后编辑它。以下是步骤:
X -config xorg.conf.new
cp xorg.conf.new /etc/X11/xorg.conf
禁用硬件加速
以下是我的Radeon卡特有的,但我确定其他卡也有类似的设置。
xorg.conf
希望有所帮助。
我的ubuntu非常容易冻结(大概每天20次)。我也使用了magic sysrq key,但是我没有使用它来重启或杀死xserver,而是使用调用oom_kill的'f'命令,有效地删除了一个进程。我只见过这个drop chrome tabs(因为我倾向于一次打开很多重量级的)。无论如何,这让我在95%的时间里摆脱了这种混乱。
所以,当我的ubuntu冻结(锁定,鼠标停止响应等)时,我坚持 alt + sysrq 然后点击 f (如果你没有正确地做到这一点,它将采取截图)。在ubuntu恢复生机之前,我通常需要重复几次这个组合。
如果我没有发现这个,我很久以前就已经放弃了ubuntu,希望它有助于某人!
你总能这样做 Alt + F2 并编写killall <program>
或xkill
并单击要粉碎的窗口!
切换到TTY视图时,您可能会获得一些额外的信息。按 Ctrl + Alt + F1 得到这个,使用 Ctrl + Alt + F7 (或者可能 F8)回到GUI。您可以在大多数F键上使用不同的会话,但这完全是不同的问题。
替换为最新的Linux内核2.6.35或更高版本将解决您的问题。请遵循以下步骤 链接 。
如果您已经尝试了以上所有并且冻结问题仍然存在,您可能想尝试我所做的。
将大量的接触清洁剂应用到CPU,RAM和任何其他芯片复合体足以显示那些微小,紧密排列的引脚。它们会因灰尘积聚而失去导电性,并且由于湿度而导致短路。
清洁后几天(我使用CRC 2-26)和一系列非常残酷的压力测试,我的电脑没有冷冻一次。
因此,对于所有人来说,突然发生意外冻结,放弃使用超出合理范围的操作系统,并做一个详尽的灰尘和接触清洁。
如果可能,尝试从另一台计算机打开一个ssh Shell。这是一个选项如果您事先知道计算机可能很快就会挂起,请在执行该任务之前先打开连接。
当我知道vmware疯狂并且ubuntu(vmware主机)的GUI变得没有响应时,我有时会这样做。我可以从ssh Shell暂停,它可能需要一段时间才能通过,并且一段时间后计算机再次空闲。
在Unity/Compiz,X.org系统和视频驱动程序之间存在一些错过的错误。当然,这些错误是由更新,更新版本的Unit,Compiz,X或视频驱动程序处理的。
当在Unity内部并且一切都很慢并且基本上都已损坏时,要转到TTY1,请按 CTRL+ALT+F1。在终端中,键入您的用户和密码以进入提示行。您也可以在按下时启动TTY ESC 或持有 SHIFT,然后在GRUB菜单上选择恢复模式。
安装Xorg Edgers PPA
Sudo add-apt-repository ppa:xorg-edgers/ppa Sudo apt-get update
根据您的视频卡,您可以安装304系列,310系列,313系列或任何更新的视频卡。我建议始终测试最新版本,并且只有在它出现问题时才会测试,然后从那里开始直到达到一切正常的版本。例如,如果您有GT 9500或更高版本(就像在我的情况下我也有440 GT,560 TI和680 GTX),解决我所有问题的唯一版本是几天前发布的313.18 。所以我会这样做:
Sudo apt-get install nvidia-313
这将安装最新版本的313系列。它通过compiz,unity和xorg修复了许多视频问题。 310系列还修复了许多问题,但没有用我的视频卡测试过。其他Nvidia版本是nvidia-experimental-304和nvidia-experimental-310。
重新启动以测试您的视频卡是否与Ubuntu无法正常工作。如果您遇到有关Nvidia配置文件的任何问题,只需打开终端并键入Sudo nvidia-xconfig
并重新启动即可。
还有其他一些好的问题也可以帮助:
nvidia-current和nvidia-current-updates软件包有什么区别?
甚至更通用的一个: 如何在Unity 3D中正确启用Desktop Cube?
击中 Alt+F2 运行命令。输入xkill
并按Enter键。
您的鼠标光标将变换为十字形,可以强制关闭您单击的任何窗口。
如果有人可以提供截图,我认为这会很有用。
我和10.04有类似的问题。 X会挂起,除了重置之外别无他法。我将我的nvidia驱动程序更新到最新版本,此后我没有遇到任何问题。
我发现阻止我的计算机冻结的一个解决方案是停止cpu调度程序将自己设置为ondemand。这可以在/etc/init.d/ondemand
脚本中找到。
我刚刚重命名了这个文件。
Sudo mv /etc/init.d/ondemand /etc/init.d/ondemand.bk
这打破了所有符合ondemand的符号链接。所以它不会在启动时启动。这会在您的日志中添加一些错误消息。
更好的方法是使用update-rc.d。我很懒,没有尝试过这些命令。
Sudo update-rc.d -f ondemand remove
要么:
Sudo update-rc.d ondemand stop 2 3 4 5 S
要重新开始:
Sudo update-rc.d ondemand Start 2 3 4 5 S
虽然再次启动它会导致我的计算机再次释放。所以我把它禁用了。
当您使用VT-x或AMD-V(内置CPU的硬件虚拟化技术)在其上运行64位guest虚拟机时,Virtualbox可能会使您的32位主机随机崩溃。这是 已知问题 。
请注意,您可以使用Virtualbox在64位主机上运行64位和32位guest虚拟机,没有任何问题。
其他答案已经涵盖了一般情况......
在您尝试下一个组合键之前,请记住这一点 Ctrl+Alt+F7 带你回来。记得?真?好的,然后:如果Ubuntu GUI没有显示或冻结只是使用 Ctrl+Alt+F1 切换到终端。
你应该按下 Ctrl+Alt+F7 再次看到此消息。
这是最简单的解决方案,但不是永久性的,之后你的Ubuntu可以继续冻结,但是每当Ubuntu冻结时你都可以重复这个过程。 :)
对于那些:
service lightdm restart
不起作用)也许你可以:
pm-suspend
(将暂停机器)我已经尝试了上面提出的所有解决方案,但它们都没有工作或部分工作但我仍然被迫重启机器并丢失所有正在运行的应用程序。这不是最好的解决方案,但至少我不会丢失工作时所需的应用程序。
如果您使用的是intel 8xx的主板,那么我强烈建议迁移到buntu 10.10 Maverick Meerkat,我认为他们已经解决了Xorg相关的错误。
我遇到了同样的问题但是一旦我安装了Ubuntu 10.10 Maverick Meerkat,我就没有遇到任何Xfreeze问题。
我在联想Thinkpad核心i5上安装了Ubuntu 12.04 LTS,它完全冻结,我不得不通过电源循环手动重启它。我通过将我的Ubuntu内核更新到最新版本来解决它。它也可以解决你的问题。以下是执行此操作的说明:
1-转到这里: http://kernel.ubuntu.com/~kernel-ppa/mainline/ 将3个(可能是4个)debs下载到某个文件夹:
linux的头-VERSION-NUMBER_all.deb
linux的头-VERSION-NUMBER_AMD64.deb
linux的图像-VERSION-NUMBER_AMD64.deb
linux-image-extra-VERSION-NUMBER_AMD64.deb#如果可用的话
2-使用您使用的任何软件包管理器前端安装deb(例如,Gdebi),或使用以下命令:
cd /path/to/folder/where/you/put/the/debs
Sudo dpkg -i *.deb
首先在终端中使用top
命令查看无响应程序的PID 终端中的顶部函数 然后kill -9 "pid"
不带引号。
如果没有任何响应您的点击和击键或鼠标停止工作,然后按 Ctrl+Alt+F1 并运行以下命令重启显示管理器:
Sudo service lightdm start # Ubuntu 12.04/14.04
要么
Sudo systemctl start graphical.target # Ubuntu 16.04 and later
如果失败了,不要担心。紧迫 Ctrl+Alt+F7 将带您回到桌面环境。
经过一年多的努力,我使用Xfce作为桌面环境解决了这个问题。我只是使用APT安装它:Sudo apt-get install xfce4
我有一台带有内置图形的2009 PC,每次调整图形设置时都会间歇性地出现问题(无论是通过Ubuntu的自动更新还是不是我不确定)。
我想我可以尝试使用Unity 2D,但Xfce可以工作。
我发现在我的情况下,罪魁祸首是简单而简单的过热。我生活在温暖的气候中,如果我没有运行空调,我的笔记本电脑开始锁定。直接指向风扇解决了问题。
在我的情况下compiz
导致冻结;我可以移动鼠标光标,但鼠标点击什么都不做。键盘工作,所以,我的食谱重新启动compiz
按 Ctrl + Alt + F1
运行此命令:
killall -9 compiz
按 Ctrl + Alt + F7
我有一台定制的PC对我保持冷静。我将温度传感器放在gnome面板中,并且能够看到CPU,HDD,主板(基本上任何系统温度)在锁定时是否变热。
您的ATI卡可能正在运行,您需要增加气流。
我只需要在安装来自 https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown 的候选内核后重启机器。这里没有硬件问题,但在非稳定内核上运行时要小心这些副作用。
要调试冻结,可以使用 Magic SysRq键 ,例如:
注意:考虑持有 ⇧ Shift (取决于您的键盘)。
冻结期间要尝试的其他事项:
注意:考虑持有 ⇧ Shift (取决于您的键盘)。
如果什么都不起作用,你应该执行 安全重启 by Alt - SysRq - REISUB,这是:
Alt - SysRq - B:立即重新Boot系统。
注意:如果上面的硬重启组合不起作用,则可能是由于缺陷硬件而非视频驱动程序导致冻结。
如果你不能使用Magic SysRq键,请参阅: 诊断和修复显然随机的Ubuntu崩溃?
重启后,请检查kern.log
以获取详细信息,尤其是上述内核命令生成的调用跟踪。这有助于为其找到正确的错误报告,并找到解决方案。检查以下 kern.log
示例 。
您可以通过以下方式检查最新的崩溃日志
journalctl -b -1 # Then hit Shift-G to jump to the end.
要列出其他日志日志,请运行:
journalctl --list-boots
建议的解决方案:
也可以看看:
在我的笔记本电脑冻结时,我可以控制+ alt + fn + f7,然后控制+ alt + fn + f2。这到了Shell,然后我用我的用户名和密码登录。要回到桌面我做chvt 8
这会让我回到我当前的桌面。要查找活动tty的类型w
,然后chvt到当前的类型。
这样你就可以在不重启或丢失任何东西的情况下恢复工作。