My main work laptop is a Dell from 2017 with 8 GB of RAM. For weeks it had been crawling, freezing for whole seconds while I worked, and every so often it would simply switch itself off in the middle of a task. If you have ever lost unsaved work to a laptop that powers down on its own, you know exactly how frustrating that is.
So I sat down and fixed it properly. The first thing I learned is worth saying up front: a slow, crashing laptop is usually two different problems wearing the same costume. Treat them as one and you will chase your tail. Separate them, and both become fixable.
Everything below is free and copy-paste ready. It was tested on Ubuntu 24.04 LTS, and it applies to almost any older Linux machine.
The honest disclaimer: Nobody can promise an old laptop will never lag. Software cannot add cores or memory that are not physically there. But you can absolutely stop the freezes and shutdowns completely and make everyday work feel smooth. That is the realistic, achievable goal.
0. Diagnose first, do not guess
The biggest mistake is blindly applying "speed up Ubuntu" tweaks before knowing what is actually wrong. Spend five minutes measuring. Your lag has one of four common causes: heat, memory, disk, or a dying battery.
Check temperature (the usual cause of random shutdowns):
sudo apt install lm-sensors -y
sudo sensors-detect --auto
sensors
Watch the Core temperatures while you work. If they spike past 90 to 100 °C right before a crash, you have a thermal problem, not a software one.
Check memory (the usual cause of freezing):
free -h
sudo apt install htop -y
htop
In htop, watch the Mem and Swp bars during normal use. If memory pins near your limit and swap fills up, that thrashing is your freeze.
Check disk space (a quiet killer):
df -h /
A root partition above 90% full makes Linux lag and turn unstable. Small SSDs fill up fast.
Read the crash logs and battery health:
# What went wrong during the previous (crashed) session
journalctl -b -1 -p err --no-pager
journalctl -k -b -1 | grep -i -E 'thermal|temperature|critical'
# Battery wear: compare 'energy-full' to 'energy-full-design'
upower -i $(upower -e | grep BAT)
If energy-full has dropped well below the design figure, a worn battery plus a weak charger can cause instant power loss that looks just like a crash.
1. Fix the random shutdowns (heat)
Start with the software layer:
# Intel's active thermal manager: throttles smartly instead of crashing
sudo apt install thermald -y
sudo systemctl enable --now thermald
The permanent fix: On a laptop more than a few years old, the fan is clogged with dust and the CPU's thermal paste has dried out. Blow out the fan vents with compressed air and repaste the CPU. It is a 30 minute job, or a cheap one at a repair shop, and it cures heat-related shutdowns for good. No software substitutes for this.
2. Fix the freezing (memory pressure)
Enable zram, compressed swap that lives in RAM. This is the biggest single software win on a low-memory machine:
sudo apt install zram-tools -y
echo -e "ALGO=zstd\nPERCENT=50" | sudo tee /etc/default/zramswap
sudo systemctl restart zramswap
Tune swappiness so the kernel prefers fast zram:
echo 'vm.swappiness=100' | sudo tee /etc/sysctl.d/99-swappiness.conf
sudo sysctl --system
Install earlyoom, the anti-freeze safety net. When RAM is fully used up, Linux can hang for minutes. earlyoom steps in early, kills the single heaviest process, and keeps your desktop responsive:
sudo apt install earlyoom -y
sudo systemctl enable --now earlyoom
3. Reclaim disk space
Safe cleanup first:
sudo apt autoremove --purge -y # old packages + unused kernels
sudo apt clean # cached .deb files
sudo journalctl --vacuum-size=200M # trim system logs
If you use Docker, it is almost always the biggest disk hog:
docker system df # see what Docker is using
⚠️ Careful, this deletes data:
docker system prune -a --volumesremoves unused images, containers and volumes. Volumes can hold databases. Run it deliberately. Drop--volumesif you only want to clear images and stopped containers.
4. Lighten the desktop
# Turn off window animations
gsettings set org.gnome.desktop.interface enable-animations false
# See if the file indexer is eating CPU in the background
tracker3 status
Then trim startup apps (search "Startup Applications"), keep browser tabs under control, and disable GNOME extensions you do not use. Your browser is usually a bigger memory hog than everything else combined, so turn on its built-in memory saver or tab discarding.
For a real step-change on very old hardware, install a lighter session and pick it at the login screen:
sudo apt install xubuntu-desktop -y # XFCE: light and fast (optional)
5. Check the SSD and update firmware
# Find your disk's device name first
lsblk
# Health check (use nvme0n1 OR sda, whichever lsblk shows)
sudo apt install smartmontools -y
sudo smartctl -H /dev/nvme0n1
# Update BIOS / firmware (many laptops are supported)
sudo fwupdmgr refresh && sudo fwupdmgr update
6. What NOT to waste time on
Popular advice that will not move the needle on a modern Ubuntu release. Skip these:
- preload: largely obsolete with SSDs
- "RAM cleaner" apps and scripts: placebo, Linux manages memory well already
- Reinstalling Ubuntu: rarely the real fix, and it costs you a day
- Aggressive CPU-governor hacks: modern defaults are already sensible
7. The real ceiling (the honest part)
Everything above will stop the crashes and smooth out daily use. But two hardware truths set the actual ceiling:
- Clean and repaste the cooling: the permanent cure for heat-driven shutdowns.
- Add RAM: if you run containers, dev servers, or many browser tabs, more memory does more than every software tweak combined. Check your model's maximum capacity and slot count before buying.
Do the software fixes today, do the two hardware steps when you can, and you have solved the problem at the root instead of papering over it.
The 60-second version
| Symptom | Most likely cause | Do this |
|---|---|---|
| Random shutdown | Overheating or weak battery | thermald, then clean + repaste |
| Long freezes | Out of RAM | zram + earlyoom + swappiness |
| General lag | Full disk or heavy desktop | cleanup + disable animations |
| Still slow | Not enough RAM | Upgrade memory |
After all of this, my laptop went from freezing every few minutes to running smoothly through a full work day. It still slows down when I push it really hard, because 8 GB is 8 GB, but the freezes and the random shutdowns are gone.
If this helped you rescue an old machine, drop a comment with what worked for you, and share it with someone still fighting a laggy laptop. Follow me for more practical Linux and developer workflow tips.
Top comments (0)