Troubleshooting System Stutter, Lags, Freezes, and Hangs

Primary Diagnostic Steps.

Testing Alternate Kernels:

Changing kernels is one of the easiest diagnostic steps you can perform and it resolves far more issues than you’d ever expect. Whenever you start to experience unusual issues with your system, the first thing you should do is test at least three alternate kernels. For those experiencing severe system freezes/crashes testing out alternate kernels should always be your first step. Check your logs for any instances of kernel panic, as this is a definite indicator that something is amiss with your kernel. If your hardware is extremely new, crashes/freezes could be happening because your hardware is not fully supported in the kernel yet.

You can install various kernels via the terminal with the following commands:

sudo pacman -Syu linux-lts linux-lts-headers
sudo pacman -Syu linux linux-headers
sudo pacman -Syu linux-mainline linux-mainline-headers
sudo pacman -Syu linux-cacule linux-cacule-headers
sudo pacman -Syu linux-xanmod linux-xanmod-headers
sudo pacman -Syu linux-hardened linux-hardened-headers

I would suggest starting at the top of the kernel list and working your way down if your issue hasn’t improved. However, if you have just purchased brand new hardware you might instead want to start with installing the linux-mainline kernel, as it has better support for newly released hardware.

If you prefer to avoid the terminal, Garuda also includes a GUI utility for easily managing different kernel versions. You can access Garuda’s GUI kernel utility through your Application Menu. You can open the utility by traversing the menu through Settings ----> Garuda Settings Manager ----> Kernel. Once open, the kernel management utility will display an extensive list of kernel choices that are available. You can easily add a kernel you wish to test out by pressing the Install button to the right of the kernel you wish to test. Similarly, you can uninstall any kernel you no longer wish to keep by pressing the Remove button. Reboot after installing a new kernel to take it for a test spin.

You can switch to a newly installed kernel after a reboot via the grub advanced options menu at startup. Simply choose the kernel you wish to boot into from the kernel choices listed in the menu. Also, be sure to test the “fallback” version of each installed kernel from the grub boot menu if you are experiencing boot issues. After installing a new kernel it is best practice not to immediately uninstall your old kernel. It is always best to have at least two kernels installed in case one kernel experiences an issue booting. The LTS kernel is the recommended choice to keep installed as a backup kernel.

BIOS - Is yours up to date?

Next to swapping kernels, the BIOS/ UEFI is one of the most important things to check on during the primary diagnostic stage. An outdated BIOS is one of the most common, and yet most overlooked causes of system freezes. Having an up to date BIOS is of utmost importance, (especially on portable computers). Even if you consider this an unnecessary step, the BIOS must be updated before proceeding with more in depth troubleshooting procedures. Failure to do so, can lead to a massive amount of wasted time and effort. Updating the BIOS is a primary troubleshooting step that must be performed before proceeding with the secondary stages of testing. Skipping this step because it seems like “too much trouble” for you, may result in assistants refusing to help you as this step must be performed before proceeding further with the other sequence of tests.

Pressing the F2, F10, F12, or Delete key during boot up is the most common way to enter your BIOS setup utility. If those keys do not work to enter your BIOS/UEFI then check your manufacturers documentation, as they may use a different key, (or a sequence of keys). Before resorting to updating your bios, you may want to test resetting your current BIOS back to the factory default. Resetting (or updating your BIOS) will return your BIOS settings to the original state they were at when purchased. Most default BIOS settings are intended for Windows. Depending on your hardware, you will likely need to modify your BIOS settings for use with Linux after resetting your bios. When running Linux be sure both secure boot and fast boot are disabled in the BIOS. Also be sure your controller is set to AHCI mode in your BIOS, (not RAID, Optane, or RST). Also, look to change the settings to “Other OS” from the default of “Windows”.

Changing the following BIOS settings may possibly help with freezing issues. Disable any nonessential hardware in the BIOS such as onboard sound, or onboard networking, as a temporary troubleshooting step. If you don’t use virtualization technologies, then disable it in the bios. Also try disabling any power management options for the CPU in the BIOS, (if present). Do not change your BIOS clock settings/timings to achieve overclocking. This often causes freezing issues, so be sure to use the manufacturers recommended clock settings.

Check your computer manufacturers website for your model of laptop or exact motherboard model to see if a BIOS update is available for your system. Be extremely careful to only download and flash your BIOS with an update intended for your exact model of hardware. Some manufacturers such as HP and Lenovo have made great strides in making BIOS updates user friendly with Linux. With other computer makers it is more complicated, so be sure to do your research.

If by chance you already updated your bios just before your current issues began, then there is a possibility that you received a bad BIOS update. This happens very rarely, but there is still always the off chance the new BIOS release was faulty. If you suspect this as a possibility, be sure to check if there was another recent BIOS released to correct this problem. If not, then you will need to decide if you want to re-flash your BIOS back to the older version, (if your manufacturer allows this).

For further information see:

ArchWiki - Flashing BIOS from Linux

One tip that I forgot to mention earlier, (as it is so basic it is often overlooked) is to be sure to reboot your computer before opening a help request. People often forget to reboot after performing an update which can lead to all manner of strange performance issues. Linux can usually go a very long time without requiring a reboot. However, sometimes it can really help to correct strange performance issues. If you are running KDE you may get away with simply restarting plasma if you start to notice system lag. Although it is usually best to perform a full system restart if you are noticing issues and you haven’t rebooted in a while. As I already stated, this troubleshooting step is so basic that it is often overlooked, so when in doubt try a reboot. :smile: