How to Update Linux Kernel for Improved System Performance

Danny Stieben 23-07-2015

The rate of development for the Linux kernel What Is a Kernel in Linux and How Do You Check Your Version? Linux is an operating system, right? Well, not exactly! It's actually a kernel. But what is the Linux kernel? Read More is unprecedented, with a new major release approximately every two to three months. Each release offers several new features and improvements that a lot of people could take advantage of to make their computing experience faster, more efficient, or better in other ways.


The problem, however, is that you usually can’t take advantage of these new kernel releases as soon as they come out — you have to wait until your distribution comes out with a new release that packs a newer kernel with it. We’ve previously laid out the benefits for regularly updating your kernel 5 Reasons Why You Should Update Your Kernel Often [Linux] If you're using a Linux distribution like Ubuntu or Fedora, you're also using the Linux kernel, the core that actually makes your distribution a Linux distribution. Your distribution constantly asks you to update your kernel.... Read More , and you don’t have to wait to get your hands on them. We’ll show you how.

Disclaimer: As some of our literature may have mentioned before, updating your kernel does carry a (small) risk of breaking your system. If this is the case, it’s usually easy to pick an older kernel at boot time that works, but something may always go wrong. Therefore, we’re not responsible for any damage to your system — use at your own risk!

Prep Work

To update your kernel, you’ll first need to determine whether you’re using a 32-bit or 64-bit system. Open up a terminal window and run

uname -a

Then check to see if the output says x86_64 or i686. If it’s x86_64, then you’re running the 64-bit version; otherwise, you’re running the 32-bit version. Remember this, because it will be important.

Next, visit the official Linux kernel website. This will tell you what the current stable version of the kernel is. You can try out release candidates if you’d like, but they are a lot less tested than the stable releases. Stick with the stable kernel unless you are certain you need a release candidate version.


Ubuntu Instructions

It’s quite easy for Ubuntu and Ubuntu-derivative users to update their kernel, thanks to the Ubuntu Mainline Kernel PPA. Although it’s officially called a PPA, you cannot use it like other PPAs by adding them to your software sources list and expecting it to automatically update the kernel for you. Instead, it’s simply a webpage you navigate through to download the kernel you want.

Now, visit the kernel PPA webpage and scroll all the way to the bottom. The absolute bottom of the list will probably contain some release candidate versions (which you can see by the “rc” in the name), but just above them should be the latest stable kernel (to make this easier to explain, at the time of writing the stable version was 4.1.2). Click on that, and you’ll be presented with several options. You’ll need to grab three files and save them in their own folder (within the Downloads folder if you’d like) so that they’re isolated from all other files:

  • The “generic” header file for your architecture (in my case, 64-bit or “amd64”)
  • The header file in the middle that has “all” towards the end of the filename
  • The “generic” kernel file for your architecture (again, I would pick “amd64” but if you use 32-bit you’ll need “i686”)

You’ll notice that there are also “lowlatency” files available to download, but it’s fine to ignore this. These files are relatively unstable and are only made available for people who need their low-latency benefits if the general files don’t suffice for tasks such as audio recording. Again, the recommendation is to always use generic first and only try lowlatency if your performance isn’t good enough for certain tasks. No, gaming or Internet browsing aren’t excuses to try lowlatency.

You put these files into their own folder, right? Now open up the Terminal, use the


command to go to your newly-created folder, such as

cd /home/user/Downloads/Kernel

and then run:

sudo dpkg -i *.deb

This command marks all .deb files within the folder as “to be installed” and then performs the installation. This is the recommended way to install these files because otherwise it’s easy to pick one file to install and it’ll complain about dependency issues. This approach avoids that problem. If you’re not sure what cd or sudo are, get a quick crash course on essential Linux commands An A-Z of Linux - 40 Essential Commands You Should Know Linux is the oft-ignored third wheel to Windows and Mac. Yes, over the past decade, the open source operating system has gained a lot of traction, but it’s still a far cry from being considered... Read More .

Once the installation is complete, Restart your system and you should be running the just-installed kernel! You can check this by running uname -a in the Terminal and checking the output.


Fedora Instructions

If you use Fedora or one of its derivatives, the process is very similar to Ubuntu. There’s just a different location to grab different files, and a different command to install them.

VIew the list of the most recent kernel builds for Fedora. Pick the latest stable version out of the list, and then scroll down to either the i686 or x86_64 section, depending on your system’s architecture. In this section, you’ll need to grab the following files and save them in their own folder (such as “Kernel” within your Downloads folder, as an example):

  • kernel
  • kernel-core
  • kernel-headers
  • kernel-modules
  • kernel-modules-extra
  • kernel-tools
  • perf and python-perf (optional)

If your system is i686 (32-bit) and you have 4GB of RAM or more, you’ll need to grab the PAE version of all of these files where available. PAE is an address extension technique used for 32-bit system to allow them to use more than 3GB of RAM.

Now, use the


command to go to that folder, such as

cd /home/user/Downloads/Kernel

and then run the following command to install all the files:

yum --nogpgcheck localinstall *.rpm

Finally Restart your computer and you should be running a new kernel!

Using Rawhide

Alternatively, Fedora users can also simply switch to Rawhide Be On The Bleeding Edge of Linux with Fedora Rawhide Don't wait around to try the latest versions of software – try Fedora Rawhide instead. Read More and it’ll automatically update every package to the latest version, including the kernel. However, Rawhide is known to break quite often (especially early on in the development cycle) and should not be used on a system that you need to rely on.

Arch Instructions

Arch users Arch Linux: Letting You Build Your Linux System From Scratch For Linux power users, it's highly desirable to be able to completely customize your system. Sometimes, that can be best achieved from the start -- by piecing together the components that you'd like to include... Read More should always have the latest and greatest stable kernel available (or one pretty close to it). If you want to get even closer to the latest-released stable kernel, you can enable the testing repo which will give you access to major new releases roughly two to four weeks early.

To do this, open the file located at


with sudo permissions in your favorite terminal text editor nano vs. Vim: The Best Terminal Text Editors, Compared Looking for a terminal text editor for Linux? The main choice is between Vim and nano! Here's how they compare. Read More , and then uncomment (delete the pound symbols from the front of each line) the three lines associated with testing. If you have the multilib repository enabled, then do the same for the multilib-testing repository. See this Arch Linux wiki page if you need more information.

Upgrading your kernel isn’t easy (done so intentionally), but it can give you a lot of benefits. So long as your new kernel didn’t break anything, you can now enjoy improved performance, better efficiency, support for more hardware, and potential new features. Especially if you’re running relatively new hardware, upgrading the kernel can really help out.

How has upgraded the kernel helped you? Do you think your favorite distribution’s policy on kernel releases is what it should be? Let us know in the comments!

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. ojo akin
    June 15, 2016 at 9:06 am

    Memory cache is more important for recent computers than before.
    The difference of the speed of main memory and cache memory is getting
    bigger, and effective utilization of cache memory influence to total
    performance of the computer a lot.

    Do you have any good idea to improve Linux Kernel? Where(which
    part) to improve and how?


  2. Anonymous
    July 29, 2015 at 6:10 am

    How about for ChromeOS? I briefly looked into it and it looks like you have to compile Chromium OS from scratch to do so. Any documentation on this anywhere?

    • Danny Stieben
      July 31, 2015 at 11:46 pm

      It's a lot more locked down than any regular Linux distribution because Google wants to make it as "foolproof" as possible. They also control what kernels are used. As far as I know, it's impossible (or at least extremely difficult).

  3. Anonymous
    July 27, 2015 at 7:54 pm

    Thanks for the fine tutorial on loading a new or different kernel package-set from my repositories. This will deliver a new or different kernel binary. I have a different set of interests.

    Since I'm running on a laptop, there seem to be numerous built-in or configured kernel parts enabled that have little to do with my available hardware. I would like to turn some of these extra parts off so that my kernel is smaller, lighter, etc. In other words, I'm looking for the kernel equivalent of removing the oriental language fonts from my desktop.

    ~~~ 0;-Dan

    • Danny Stieben
      July 31, 2015 at 11:48 pm

      You can try blacklisting modules if you don't want them to run. If you want the actual kernel to be smaller, that's not possible with the methods I described. You would have to download the vanilla kernel from and configure and compile it yourself. It's a lot more work that I haven't really done much of.

  4. Anonymous
    July 27, 2015 at 9:38 am

    My take is that quite often software stated as stable is not stable and there are occasions when the distro's kernels do not support some needed devices or features.

    Take a recent case where an ODROID kernel feature was required and I had to email details of how to build and install the kernel.

    OK, so I have been building kernels since Linus put up the very first one for ftp and I always run the latest, installed not long after it was released some hours ago.
    slipstream:~ # uname -r

  5. Anonymous
    July 24, 2015 at 11:57 am

    You should make it more clear to upgrade to what.
    The distributions provide regular upgrades and users must definitively install them (simply accepting the distro proposition)

    But this is different from upgrading to an "unsupported" and riskier kernel version! I agree the risks are low, but multiply by all the versions and the consequences can make you loose way more time than the micro-seconds you may benefits over years.

    Don't lose your time, stay on the safe side!

    • Danny Stieben
      July 31, 2015 at 11:49 pm

      Yes. Like I mentioned, there are risks. :) Read the disclaimer!