What should I do when Ubuntu freezes?

All operating systems freeze sometimes, and Ubuntu is no exception. What should I do to regain control when...

  • just one program stops responding?
  • nothing at all responds to mouse clicks or key presses?
  • the mouse stops moving entirely?
  • I have an Intel Bay Trail CPU?

In what order should I try various solutions before deciding to pull the power plug?

What should I do when starting up Ubuntu fails? Is there a diagnostic procedure I can follow?


Solution 1:

If it locks up completely, you can REISUB it, which is a safer alternative to just cold rebooting the computer.

REISUB by:

While holding Alt and the SysReq (Print Screen) keys, type 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

Some mnemonics for REISUB:

  • Rise up (from the dead) if you're inclined to zombie movies
  • BUSIER backwards, as in The System is busier than it should be!
  • Reboot Even If System Utterly Broken.
  • Or the classic: Raising Elephants Is So Utterly Boring

This is the SysReq key:

SysReq key

NOTE: There exists less radical way than rebooting the whole system. If SysReq key works, you can kill processes one-by-one using Alt+SysReq+F. Kernel will kill the mostly «expensive» process each time. If you want to kill all processes for one console, you can issue Alt+SysReq+K.

NOTE: You should explicitly enable these key combinations. Ubuntu ships with sysrq default setting 176 (128+32+16), which allows to run only SUB part of REISUB combination. You can change it to 1 (all commands enabled) or 244 which is potentially less harmful. To do this:

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

and switch 176 to 244; then

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

It will immediately work! You can test this by pressing Alt+SysReq+F. For me, it killed active browser tab, then all extensions. And if you will continue, you can reach X Server restart.


More info on all the Alt+SysReq functions here.

Solution 2:

When a single program stops working:

When a program window stops responding, you can usually stop it by clicking the X-shaped close button at the top left of the window. That will generally result in a dialog box saying that the program is not responding (but you already knew that) and presenting you with the option to kill the program or to continue to wait for it to respond.

Sometimes this does not work as expected. If you can't close a window by normal means, you can hit Alt+F2, type xkill, and press Enter. Your mouse cursor will then turn into an X. Hover over the offending window and left-click to kill it. Right clicking will cancel and return your mouse to normal.

If your program is running from a terminal, on the other hand, you can usually halt it with Ctrl+C. If not, find the name and process ID of its command, and tell the program to end as soon as possible with kill [process ID here]. It sends the default signal SIGTERM (15). If all else fails, as a last resort send SIGKILL (9): kill -9 [process ID here]. Note that you should only use SIGKILL as a last resort, because the process will be terminated immediately by the kernel with no opportunity for cleanup. It does not even get the signal - it just stops to exist.

(Killing a process by kill -9 allways works if you have the permission to kill. In some special cases the process is still listed by ps or top (as "zombie") - in this case, the program was killed, but the process table entry is kept, becuse it's needed later.)

When the mouse stops working:

If the keyboard still works, press Alt+F2 and run gnome-terminal (or, if these fail to launch, press Alt+Ctrl+F1 and login with your username and password). From there you can troubleshoot things. I'm not going to get into mouse troubleshooting here, as I haven't researched it. If you just want to try restarting the GUI, run sudo service lightdm restart. This should bring down the GUI, which will then attempt to respawn, bringing you back to the login screen.

When you have an Intel Bay Trail CPU

See https://askubuntu.com/a/803649/225694.

When everything, keys and mouse and all, stop working:

First try the Magic SysReq method outlined in Phoenix' answer. If that doesn't work, press the Reset button on the computer case. If even that doesn't work, you'll just have to power-cycle the machine.
May you never reach this point.

Solution 3:

You can make the shortcut Ctrl+Alt+Delete open the System Monitor, with which you can kill any unresponsive applications.

  1. Open up System ➜ Preferences ➜ Keyboard Shortcuts and click Add.
    In the Command field, enter gnome-system-monitor. Name the shortcut whatever you want.

enter image description here

  1. Click Apply and then click where it says Disabled. Now hit the keys Ctrl+Alt+Delete

enter image description here

  1. Close Keyboard Shortcuts and try out the shortcut:

enter image description here

Solution 4:

Freezes such as you have described can be both software and hardware related and as you have found sometimes frustratingly difficult to diagnose.

Hardware

If this is a desktop PC look at your hardware-cards. For both laptops and desktops possibly acpi type issues.

It might be useful to temporarily simplify your configuration to have just the graphics card connected with a standard keyboard and mouse. All other cards should be removed.

For acpi related issues, try booting with noapic nomodeset in your grub boot option. Its also worth trying acpi=off although this could have other undesirable effects such as constant fan usage.

Also worth checking the bios version level and seeing if the vendor has a newer bios version. The readme notes should hopefully reveal if any newer version fixed crashes and freezes.

Software

I note you have tried the standard 270 drivers but have failed due to freezes. Can you clarify if you had similar issues with the open-source driver? Obviously you will not get Unity during testing this.

Graphics freezing can be one of/or a combination of the driver/compiz/X/kernel

If you are willing to try any of the suggestions below first backup your system with a good backup tool such as CloneZilla. You will need an external media device to receive the image such as a large USB stick/drive or separate internal hard-drive.

Installing newer nVidia driver

Deactivate (uninstall) your current 173-nvidia driver using the Additional Drivers window.

There are a small number of important fixes primarily in the 275 stable but a small number also in the 280beta that fixed freezes - it is worth a shot to see if these apply to your graphics card. Unfortunately nvidia dont go into detail on which cards they specifically fix (readme.txt)

However - I would strongly recommend a backup unless you feel confident on reversing a nvidia install - especially since you had serious issues with the slightly older 270 drivers. I've used clonezilla countless times and it has always got me out of trouble. You do need a large external drive though - USB stick/external drive or a separate drive.

X Updates

The latest graphics drivers have been packaged in the x updates ppa.

Note - this will lead you away from the standard baseline - if upgrading in the future ppa-purge the PPA itself before upgrading.

You can also manually install the drivers from nVidia:

Try installing the latest nvidia stable 275 or 280 drivers - 32bit 280 drivers: ftp site and 64bit: 280 drivers: ftp site

To Install

CTRL + ALT + F1 to switch to TTY1 and login

sudo service gdm stop

To stop the X server

sudo su

To run as root

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

To install the 32bit driver (equiv for 64bit) then reboot.

To uninstall

sudo sh NVIDIA* --uninstall

Also remove /etc/X11/xorg.conf

X/Kernel/Compiz

If you run classic Ubuntu with effects do you get the same freeze issues as standard Ubuntu? If you cannot reproduce the freeze with classic Ubuntu (no effects) then this will point you towards a compiz issue. I would raise a launchpad bug report with the compiz team.

If space is available (e.g. 20Gb), you could dual boot/install alongside the latest oneiric alpha. Obviously this will itself be unstable, but it will come with the latest X and Kernel. You may need to also install manually the beta 280 graphics drivers above since it probably will not be offered in the Additional Drivers window.

If during testing you dont see the same freeze activity you could try uplifting your X version with the x-edgers ppa and using kernel kernel 3.0 in Natty. Going this route is not really desirable - and could cause you upgrade issues in the future - and may have other unforeseen stability issue. Again, use ppa-purge to remove the PPA.

Kernel 3.0 is packaged with the PPA - you'll need to install the headers as well as the kernel itself from synaptic BEFORE rebooting if you intend to install the nvidia drive later.

This is a testing ppa - do have a ready backup if you want to try this route.

Solution 5:

If you're getting a lot of freezes, there might be something wrong with your hardware. I used to get hard lockups every 48 hours due to some less than optimal RAM. Memtest86+ showed the fault after 40 minutes of testing. Swapped the RAM out for some more (under warranty) and I'm now at 32 days, 1 hour of uptime.

Ubuntu doesn't tend to leak its guts all over your memory like Windows can over time. Even if one application or a poor X video driver does, you can restart LigthtDM very simply and just keep going and going and going. I've actually been through three beta versions of the nvidia driver in this one boot :)

Anyway... While knowing how to restart softly is a very handy thing, finding, reporting and fixing the system should be your next priority. If it's an always-on system, you should easily be able to make it between kernel updates* without needing a restart.

*You should restart when you get kernel updates as they'll be security fixes that won't be applied until you reboot into the newer kernel.