有时所有操作系统都会冻结,Ubuntu也不例外。当...时我该怎么做才能重新获得控制权
- 只有一个程序停止响应?
- 鼠标单击或按键没有任何响应吗?
- 鼠标完全停止移动?
- 我有Intel Bay Trail CPU?
在决定拔下电源插头之前,应按什么顺序尝试各种解决方案?
启动Ubuntu失败该怎么办?我可以执行诊断程序吗?
有时所有操作系统都会冻结,Ubuntu也不例外。当...时我该怎么做才能重新获得控制权
在决定拔下电源插头之前,应按什么顺序尝试各种解决方案?
启动Ubuntu失败该怎么办?我可以执行诊断程序吗?
Answers:
当程序窗口停止响应时,通常可以通过单击窗口左上方的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
(作为“僵尸” 列出)-在这种情况下,该程序被杀死了,但是保留了进程表条目,因为稍后需要它。)
如果键盘仍然可以使用,请按Alt+ F2并运行gnome-terminal
(或者,如果这些命令无法启动,请按Alt+ Ctrl+ F1并使用您的用户名和密码登录)。从那里您可以解决问题。我不会在这里进行鼠标故障排除,因为我还没有对其进行研究。如果您只想尝试重新启动GUI,请运行sudo service lightdm restart
。这应该会关闭GUI,然后将尝试重新生成该GUI,从而使您返回登录屏幕。
参见https://askubuntu.com/a/803649/225694。
首先尝试Phoenix的答案中概述的Magic SysReq方法。如果这不起作用,请按计算机机箱上的重置按钮。如果连不工作,你只需要电源循环机。
可能你永远都不会达到这一点。
kill -9
。相反,一次应该尝试以较少的剧烈信号终止进程,并且如果所有其他命令均失败,则仅使用-9。
sudo service lightdm restart
:太糟糕了-至少会杀死Ubuntu 13.04中的所有gui进程-对我来说,包括运行虚拟机等:(
如果它完全锁定,则可以重新安装它,这比冷启动计算机更安全。
提出者:
按住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向后更忙,如“系统比其应有的忙 ”中所述。或助记符-R eboot; Ë VEN; 我的f; 小号 ystem; ü tterly; 乙 roken。
这是SysReq密钥:
注意:与重新引导整个系统相比,存在的根本方法更少。如果SysReq密钥有效,则可以使用Alt+ SysReq+ 一对一杀死进程F。内核每次都会杀死大多数“昂贵”的过程。如果要杀死一个控制台的所有进程,可以发出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 Server。
有关所有Alt+ SysReq功能的更多信息,请参见此处。
您可以使快捷方式Ctrl+ Alt+ Delete打开系统监视器,使用它可以杀死所有无响应的应用程序。
gnome-system-monitor
。随意命名快捷方式。如前所述,冻结可能与软件和硬件有关,而且有时很难诊断。
如果是台式机,请查看您的硬件卡。对于笔记本电脑和台式机,可能都是acpi类型问题。
暂时简化配置以将图形卡与标准键盘和鼠标连接可能会很有用。所有其他卡都应删除。
对于与acpi相关的问题,请尝试noapic nomodeset
在您的grub引导选项中使用进行引导。acpi=off
尽管这可能会带来其他不良影响,例如持续使用风扇,但也值得尝试。
同样值得检查BIOS版本级别,并查看供应商是否具有更新的BIOS版本。自述文件中的注释应该有望揭示出是否有更新的固定版本崩溃或死机。
我注意到您尝试了标准270驱动程序,但由于冻结而失败。您能否弄清楚开源驱动程序是否存在类似问题?显然,在测试期间您将无法获得Unity。
图形冻结可以是驱动程序/ compiz / X /内核的一种或组合
如果您愿意尝试以下任何建议,请首先使用良好的备份工具(例如CloneZilla)备份系统。您将需要一个外部媒体设备来接收图像,例如大USB盘/驱动器或单独的内部硬盘驱动器。
使用“其他驱动程序”窗口停用(卸载)当前的173-nvidia驱动程序。
主要在275稳定器中有少量重要修复程序,但在280beta中也有少量重要修复程序,这些修复程序会冻结-值得一试的是看看这些修复程序是否适用于您的图形卡。不幸的是,英伟达并未详细介绍它们具体修复的卡(readme.txt)
但是-除非您对反转nvidia的安装有信心,否则我强烈建议您进行备份-尤其是因为稍旧的270驱动程序存在严重问题。我无数次地使用了clonezilla,它总是使我摆脱麻烦。不过,您确实需要大型外部驱动器-USB记忆棒/外部驱动器或单独的驱动器。
X更新
最新的图形驱动程序已打包在x更新ppa中。
注意-如果将来ppa-purge
在升级之前先升级PPA本身,这将使您偏离标准基准。
您也可以从nVidia手动安装驱动程序:
尝试安装最新的nvidia稳定版275或280驱动程序 -32位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提升X版本并在Natty中使用内核kernel 3.0。走这条路线并不是很理想-将来可能会导致升级问题-可能还有其他无法预料的稳定性问题。同样,使用ppa-purge
删除PPA。
Kernel 3.0与PPA打包在一起-如果您打算稍后安装nvidia驱动器,则需要在重新启动之前从突触安装头文件以及内核本身。
这是一个测试PPA-如果您想尝试此路由,请准备好备用备份。
如果您遇到很多死机,则硬件可能有问题。我过去每48小时都要进行一次硬锁定,原因是内存不足以达到最佳性能。测试40分钟后,Memtest86 +出现了故障。将RAM换出更多(在保修期内),我现在处于32天的正常运行时间,为1小时。
Ubuntu不会像Windows可能随着时间的流逝在您的整个内存中泄漏胆量。即使有一个应用程序或性能不佳的X视频驱动程序,您也可以非常简单地重新启动LigthtDM,然后继续前进。我实际上已经在这一次启动中经历了nvidia驱动程序的三个beta版本:)
无论如何...虽然知道如何轻柔地重新启动是一件非常方便的事,但是查找,报告和修复系统应该是您的下一个优先事项。如果它是一个永远在线的系统,那么您应该可以轻松地在内核更新之间进行更新*,而无需重启。
*您应该在获取内核更新后重新启动,因为它们将是安全修复程序,直到您重新启动到较新的内核后才会应用。
当一切停止工作时,请首先尝试Ctrl+ Alt+ F1进入终端,在这里您可能会杀死X或其他问题进程。
如果仍然无法使用,请尝试在按住的同时按住Alt+ SysReq(慢慢地,每次间隔几秒钟)R E I S U B。
这会将键盘置于原始模式,以各种状态结束任务,同步磁盘等,最后重新启动计算机。与仅拔掉插头相比,这样做将获得更好的结果。当然,如果失败了,您几乎可以拔掉插头了。
Ctrl
+ Alt
+ F1
和试图杀死进程和Alt
+ SysRq
+ R
E
I
S
U
B
,这是值得pressying Ctrl
+ Alt
+ Delete
。如果您成功进入基于文本的虚拟控制台(通过按Ctrl
+ Alt
+ 键F1
),则实际上将始终重新引导计算机。
此外,有时只是挂起的X服务器-我在使用Compiz时最常发现的一种情况。
在这种情况下,您可以杀死X,X会重新启动并将您带回到登录屏幕。
默认顺序为Ctrl+ Alt+Backspace
尽管默认情况下已将其关闭(大概是新用户无意中点击了它),并且可以像这样重新打开它:
System
→ Keyboard
(即“键盘偏好设置”对话框)当发生完全冻结时,我的第一个最爱- Alt+ SysRq+ K。
该组合将杀死X,并使我返回图形登录屏幕。如果那不起作用,请尝试Alt+ SysRq+ R E I S U B。
在这种情况下,你可以试试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
ps
并且grep PROCESS
可以通过更换pgrep PROCESS
电话,和你的整个事情可以简单地被替换pkill PROCESS
或killall PROCESS
。
pgrep
是不显示任何内容,而是显示进程ID本身。如果您想知道流程的全名和任何其他信息,ps
它仍然是非常有价值的工具。
首先要看的是冻结的是X还是整个系统。启用ssh,然后ssh进入系统。如果您无法使用它,则可能是内核锁定。如果您可以 ssh in,则可能只是gpu锁定。
接下来,尝试重新启动X。通过重新启动显示管理器来执行此操作:
在Ubuntu 11.10和更高版本上,LightDM是显示管理器,因此请运行:
service lightdm restart
在Ubuntu 11.04和更早版本上,GDM是显示管理器,因此运行:
service gdm restart
如果可行,则可能是X错误。如果仍然无法使用,则内核drm驱动程序中可能存在GPU锁定。此时,了解您正在运行-ati(开源)驱动程序还是-fglrx(闭源)驱动程序将很有用。
如果必须进行硬关机,我想知道内存(RAM)是否出现故障。在下次启动时,尝试运行memtest86。去做这个:
您将得到一个基本的显示,它将尝试向您的所有RAM读取和写入很多值。只要没有故障,您就会看到绿色状态。如果有任何故障,它将变成红色。在这种情况下,您需要至少更换一根RAM。
如果您曾经SysRq
按照第一个答案的建议使用魔术键,只需尝试使键盘首先与Alt+ SysRq+一起使用即可R;然后尝试Ctrl+ Alt+ F1一次。
它可能会起作用,并且您可以节省重新启动的时间。只有当它不起作用时,您才应该尝试整个REISUB序列。
只需按键盘上的Ctrl+ Alt+ F1打开TTY1。当它打开时,运行Kill命令。下面的例子。
首先使用:ps,它将显示所有正在运行的进程(如果要逐页查看结果,则显示“ ps | less”),然后查找要终止的进程的PID。使用后:kill pid
kill命令-停止进程运行
语法:kill [-s sigspec] [-n信号] [-sigspec] jobspec或pid kill -l [exit_status]
说明:大多数现代的外壳(包括Bash)都具有内置的kill功能。在Bash中,信号名称和数字都是
被接受为选项,参数可以是作业或流程ID。可以使用-l选项报告退出状态:如果成功发送了至少一个信号,则为零;如果发生错误,则为非零。使用/ usr / bin中的kill命令,您的系统可能会启用其他选项,例如,可以从您自己的用户ID之外的进程中杀死进程,并可以通过名称指定进程,例如pgrep和pkill。如果未给出任何终止命令,则这两个终止命令均发送TERM信号。
资料来源:http : //www.linuxforums.org/forum/newbie/53976-end-tasks-linux-like-task-manager-windows.html
解:
解决了。
我的特殊问题是图形卡(集成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
希望能有所帮助。
最简单的解决方案是在“ Gnome”顶部面板中添加“强制退出”小程序,当程序无响应时,单击强制退出,然后单击应用程序。
我对这么多答案感到惊讶,但没有提到。当然,您始终可以使用a ps -A
并将其通过管道传递grep
给您的程序名称。而kill -9
这一点。我更喜欢简单。
您可以随时执行Alt+ F2并编写killall <program>
或xkill
单击,然后单击要粉碎的窗口!
我的ubuntu非常容易冻结(一天大概20次)。我也使用了神奇的sysrq密钥,但是我没有使用它来重新引导或杀死xserver,而是使用了调用oom_kill的'f'命令,有效地删除了一个进程。我只看过这个下拉式Chrome标签页(因为我倾向于一次打开很多重量级的标签页)。无论如何,这有95%的时间使我摆脱了困境。
因此,当我的Ubuntu死机(锁定,鼠标停止响应等)时,我按住alt+ sysrq并单击f(如果操作不正确,则会截取屏幕截图)。在ubuntu刺激之前,我通常必须重复几次此组合。
如果我还没有发现这个问题,我早就放弃了ubuntu,希望它能对某人有所帮助!
如果可能,请尝试从另一台计算机打开ssh shell。这是一个选项。如果您事先知道计算机可能会很快挂起,请在执行该任务之前先打开连接。
当我知道vmware疯狂运行并且ubuntu的GUI(vmware主机)变得无响应时,我有时会这样做。我可以从ssh shell进行挂起,直到通过它为止可能要花一些时间,过一会儿计算机又会变得空闲。
F[1-6]
F1,F2,...,F6 )转到另一个TTY(非GUI)。如果您的网络连接被大量使用,这将特别有用。(切换回来,使用Ctrl + Alt + F7按F8更换F7,如果它不工作。
Unity / Compiz,X.org系统和视频驱动程序之间的关系中遗漏了一些错误。当然,这些错误是通过Unit,Compiz,X或视频驱动程序的更新版本来解决的。
在Unity内部并且一切都很缓慢并且基本上已损坏时,要进入TTY1,请按CTRL+ ALT+ F1。在终端中时,键入您的用户名和密码以进入提示行。您也可以在启动时通过ESC按住SHIFT,然后在GRUB菜单上选择恢复模式,进入TTY 。
安装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?
替换为最新的Linux内核2.6.35或更高版本,即可解决您的问题。请从此链接执行以下步骤。
当您使用VT-x或AMD-V(CPU内置的硬件虚拟化技术)在虚拟机上运行64位客户机时,Virtualbox可能会使32位主机随机崩溃。这是一个已知问题。
请注意,您可以使用Virtualbox在64位主机上运行64位和32位来宾,而不会出现任何问题。
其他答案很好地涵盖了一般情况...