How to Upgrade Your Linux PC Hardware


by Howard Fosdick  Updated 2025 ©  RexxInfo.org



In a previous article I explained how to How to Identify Linux Performance Bottlenecks, situations where a hardware resource reaches its limits and holds back your PC's performance.

How could you address such a bottleneck? My article How to Improve Linux Performance focuses on software solutions. For example, you could tune the applications or system software. Or you could run more efficient apps. You could even alter your behavior in using your computer, for example, by scheduling background programs for off-hours.

This article assumes you've decided to improve your PC's performance through a hardware upgrade. We'll focus on those upgrades that give you the biggest payback for the least cost.

Open source tools are the key. GUI tools help you monitor your system to predict which hardware improvements will be effective. Otherwise, you might buy hardware only to find that it doesn't improve performance.

We'll show you how to know a hardware upgrade will improve your PC's performance before you lay out any money.

After the upgrade, these tools help you verify that the upgrade produced the benefits you expected.

This article offers a simple but effective approach to PC hardware upgrades.


How to Upgrade Memory

 
Years ago, memory upgrades were a no-brainer. Adding memory nearly always improved performance.

Today, that's no longer the case. PCs come with much more memory and Linux uses it very efficiently. If you buy memory your system doesn't need, you've only wasted money.

So you'll want to monitor your computer beforehand to see if a memory upgrade will help its performance. Watch memory use while you go about your typical day. Be sure to check what happens during memory-intensive workloads. 

A wide variety of open source tools can help with this monitoring. We'll use the GNOME System Monitor. It's available in most Linux repositories.

When you start up the System Monitor, its Resources panel displays this output:


System Monitor Resources Panel

Figure 1 - Monitoring Memory with GNOME System Monitor


The middle of the screen shows your memory use. Swap is disk space Linux uses when it runs low on memory. Linux effectively increases memory by using swap as a slower extension to memory.

Since swap is slower than memory, if swap activity becomes significant, adding memory will improve your computer's performance.

How much improvement you'll get depends on the amount of swap activity and the speed of your swap device.

If a lot of swap space is used, you'll get a bigger performance improvement by adding memory than if only a small amount of swap is used.

And if swap resides on a slow mechanical hard drive, you'll see a greater improvement by adding memory than if swap resides on the fastest available solid state disk.


An Example


Here's an example of when to add memory. This computer showed increased swap activity after memory utilization hit 80% (notice the red line). It became unresponsive as memory use surpassed 90%:


An Out of Memory Condition

Figure 2 - A Memory Upgrade Will Help


How to Perform the Upgrade


Before you upgrade, you need to determine how many memory slots you have, how many are open, the kinds of memory sticks they require, and your motherboard's maximum allowable memory.

You can read your computer's documentation to get those answers. Or, you can just enter these Linux line commands:

What are the characteristics of the installed memory sticks?
sudo lshw -short -C memory
What is the maximum allowable memory for this computer?
sudo dmidecode -t memory | grep -i max
How many memory slots are open?
(a null response means none are available)
sudo lshw -short -C memory | grep -i empty

Before performing the physical upgrade, you'll want to be sure to unplug the computer. Ground yourself before you touch your hardware -- even the tiniest shock can damage circuitry. Fully seat the memory sticks into the motherboard slots.

After the upgrade, start up your computer and then the System Monitor. Run the same programs that overloaded your memory before.

The Monitor should show your expanded memory, and you should see better performance.


How to Upgrade Storage


We're in an era of rapid storage improvements. Computers that are only a few years old can often benefit from disk upgrades. But first you'll want to make sure an upgrade makes sense for your computer and workload.

Start by finding out what disk you have. Many open source tools will tell you. HardInfo or GNOME Disks are good options because both are widely available and their output is easy to understand. These apps will tell you your disk's make, model, geometry, and other details.
 
Next, determine your disk's performance by benchmarking it. GNOME Disks makes this easy. Just start the tool and click on its Benchmark Disk option. This gives you disk read and write rates, and the average disk access time:


GNOME Disks Performance Panel

Figure 3 - GNOME Disks Benchmark Output


With this information, you can compare your disk to others at benchmarking websites like PassMark Software and UserBenchmark. Those provide performance statistics, speed rankings, and even price/performance numbers. You can get an idea of how your disk compares to possible replacements.

Here's an example of some the detailed disk info you'll find at UserBenchmark:


Disk Comparisons at UserBenchmark

Figure 4 - Disk Comparisons at UserBenchmark



Monitor Disk Utilization


Just as you did with memory, monitor your disk in real-time to see if a replacement would improve performance.  

The atop line command tells you how busy a particular a disk is.

In its output below, the red line shows that device sdb is busy 101%. And one of the processors is waiting on that disk to do its work 85% of the time (cpu001 w 85%):


ATOP Command Output Shows Disk Activity

Figure 5 - atop Command Shows Disk Utilization


Clearly, you could improve performance with a faster disk.

You'll also want to know which program(s) are causing all that disk usage. Just start up the System Monitor and click on its Processes tab.

Now you know how busy your disk is, and what program(s) are using it. So you can make an educated judgement whether a faster disk would be worth the expense.


Buying the Disk


In buying a new internal disk, you'll encounter three major technologies:

  • Mechanical hard drives (HDDs)
  • SATA-connected solid state disks (SSDs)
  • PCIe-connected NVMe solid state disks (NVMe SSDs) or equivalent competing technology

What are the speed differences between them? You'll see varying numbers all over the web. Here's a typical example:


Relative Speeds of Disk Technologies
(Chart courtesy of Unihost )
 
Figure 6 - Relative Speeds of Internal Disk Technologies


Red Bar: Mechanical hard disks offer the cheapest bulk storage. But in terms of performance, they're slowest by far.

Green Bar: SSDs are faster than mechanical hard drives. But if an SSD uses a SATA interface, that limits its performance. This is because the SATA interface was designed over a decade ago for mechanical hard drives.

Blue Bar: The fastest technology for internal disks is the newer PCIe-connected NVMe solid state disk. These can be roughly 5 times faster than SATA-connected SSDs and 20 times faster than mechanical hard disks.

For external SSDs, you'll find that the latest Thunderbolt and USB interfaces are fastest.


Installing an Internal Disk


Before purchasing any disk, verify that your computer can support the physical interface needed.

For example, many NVMe SSDs use the popular M.2 (2280) form factor. That requires either a tailor-made motherboard slot, a PCIe adapter card, or an external USB adapter. Your choice could affect your new disk's performance.

Always back up your data and operating system before installing a new disk. Then copy them to the new disk. Open source tools like Clonezilla, Mondo Rescue, or GParted can do the job. Or you could use Linux line commands like dd or cp.

Be sure to use your fast new disk in situations where it will have the most impact. Employ it as a boot drive, for storing your operating system and apps, for swap space, and for your most frequently-processed data.

Don't waste it for functions like bulk storage for rarely accessed images or videos, for example. Those applications don't require the fastest storage.

After the upgrade, run GNOME Disks to benchmark your new disk. This helps you verify that you got the performance boost you expected. You can verify real-time operation with the atop command.

How to Upgrade USB Ports


Like disk storage, USB performance has shown great strides in the past several years. Many computers only a few years old could get a big performance boost simply by adding a cheap USB port card.

Whether the upgrade is worthwhile depends on how frequently you use your ports. Use them rarely, and it doesn't matter if they're slow. Use them frequently, and an upgrade might really impact your work.

Here's how dramatically maximum USB data transfer rates have increased across port standards:

Relative USB Speeds
(Chart by the author based on figures provided by Tripplite and Wikipedia)

Figure 7 - USB Speeds Vary Greatly


To see the USB speeds you're actually getting, start up GNOME Disks. GNOME Disks can benchmark a USB-connected device just like it can an internal disk. Select its Benchmark Disk option.

The device you plug in and the USB port together determine the speed you'll get. If the port and device are mismatched, you'll experience the slower speed of the two.

For example, connect a device that supports USB 3.1 speeds to a 2.0 port, and you'll get the 2.0 data rate. (And your system won't tell you this, unless you investigate with a tool like GNOME Disks!)

Conversely, connect a 2.0 device to a 3.1 port, and you'll also get the 2.0 speed. So for best results, always match your port and device speeds.

To monitor a USB-connected device in real time, use the atop command and System Monitor together, the same way you did to monitor an internal disk. This helps you to see if you're bumping the upper limit of your current setup and could benefit by upgrading.

Upgrading your ports is easy. Just buy a USB card that fits into an open PCIe slot.

Many USB upgrade cards are only about $15 to $40 USD. Be sure you check whether the card supports the USB 3.2, 3.1, or 3.0 standard.

Nearly all USB cards are plug-and-play, so Linux automatically recognizes them. (But always verify before you buy.)

Be sure to run GNOME Disks after the upgrade to verify the new speeds.


How to Upgrade Your Internet Connection


Upgrading your internet bandwidth is easy. Just write a check to your Internet Service Provider, or ISP.

The question is: should you?

The System Monitor shows your bandwidth use (see Figure 1). If you consistently bump against the limit you've paid your ISP for, you'll benefit from buying a higher limit.

But first, verify that you don't have a problem you could fix yourself. I've seen many cases where someone thinks they need to buy more bandwidth from their ISP when they actually just have a connection problem they could fix themselves.

Start by testing your maximum internet speed at websites like Speedtest or Fast.com. For accurate results, close down all programs and run only the speed test; turn off your VPN; run tests at different times of day; and, compare the results from several testing sites.

If you use Wifi, test with it and without it (by directly cabling your laptop to the modem).

If you have a separate router, test with and without it.

These tests will tell you if your wifi setup or your router is a bottleneck.

Perhaps you'll discover that your native connection is fast but your Wifi is slow. Now you know to fix the Wifi, perhaps by repositioning the broadcast device, increasing its broadcasting power in the configuration panels, or updating its firmware.

Ultimately, these tests will help you verify that you're getting the speeds you're paying your ISP for. They'll also expose if you have a local wifi or router problem you could fix yourself.

Only after you've done these tests should you conclude that you need to purchase more internet bandwidth.

 

How to Upgrade Your CPU or GPU


What about upgrading your CPU or GPU (graphics processing unit)?

Laptop owners typically can't upgrade either their because they're soldered to the motherboard.

Most desktop motherboards support a range of CPUs and are upgradeable -- assuming you're not already using the topmost processor in the series.

Use the System Monitor to watch your CPU and determine if an upgrade would help. Its Resources panel will show you your CPU load. If all your logical processors consistently stay above 80% or 90%, you could benefit from more CPU power.

It's a fun project to upgrade your CPU. Anyone can do it, if they're careful.

Unfortunately, it's rarely cost-effective. Most sellers charge a premium for an individual CPU chip versus the deal they'll give you on a new system unit. So for many people a CPU upgrade doesn't make economic sense.

How about upgrading your graphics processing unit, or GPU? If you plug your display monitor directly into your desktop's motherboard, you might benefit by upgrading your graphics processing. Just add a compatible video card.

This article shows you how to identify if you need more graphics processing power. This online tool identifies exactly which video cards will best work with your CPU.


Conclusion


Some users upgrade their Linux hardware based on gut feel.

A better way is to monitor performance and gather some data first. Open source GUI tools make this easy. They help you predict whether a hardware upgrade will be worth your time and money. Then, after your upgrade, you can use them to verify that your changes had the intended effect.

We've covered the most popular hardware upgrades. With a little effort and the right open source tools, any Linux user can cost-effectively upgrade his PC.


Related Articles


Linux Commands to Display Hardware Information
How to Identify Linux Performance Bottlenecks
How to Shrink PDF Files
How to Traverse Directories in Scripts
How to Use PUSHD and POPD
Reclaim Big Disk Space by File Conversions
Linux Performance Tips
Bash to Python Mapping & Comparison



Back to RexxInfo.org
------------------------------

====> Like this article? Please spread the link love to Slashdot, LXer, or wherever!