Ben Chuanlong Du's Blog

And let it direct your passion with reason.

Make Linux Run Faster

Benchmark Tools for Linux

phoronix-test-suite is currently the best benchmark tool for Linux. You can use it to figure out the bottleneck of performance of your Linux machine. Please refer to Benchmark Your Linux Machine Using phoronix-test-suite for more discussions.

BCC is a toolkit for creating efficient kernel tracing and manipulation programs leveraging extended Berkeley Packet Filters (eBPF).

Upgrading Hardware

  1. Get larger RAM for your computer.

  2. Get a SSD disk.

  3. Get a good graphics card (if you have workstation).

Configuration

  1. Configure GRUB to fix PCIe BUS errors if any. Please refer to Pcie Bus Error: Severity=Corrected, Type=Physical Layer for detailed discussions . Notice that you might have to do this every time you upgrade your Linux kernel.

  2. Reduce GRUB timeout to a smaller value. Please refer to Reduce GRUB Timeout for detailed discussions .

  3. Configure vm.swapness to be a proper value (10 or even less), if your Linux system has a large swap partition. For more details, please refer to SwapFaq .

  4. Choose a fast mirror. If you are using Ubuntu, a fast mirror will be automatically decided based on your location. However, if you are using other Linux distribution (e.g., Linux Mint), you might have to choose a fast mirror manually.

  5. Use the noatime option for filesystems. Add the noatime option into your fstab for all non-swap partitions. This is NOT recommended unless you really want to squeeze the performance of Linux machine.

  6. Remove non-necessary autostart applications and configure a delay to must-have autostart applications. Please refer to Manage Autostart Applications for detailed discussions.

  7. Disable non-needed systemd services. Please refer to Manage systemd Services and Units for detailed discussions.

  8. If you use the GNOME desktop environment, configuare "Gnome Shell Search" to disable unnecessary applications. gnome-shell-search-config

Software-based Optimization

Linux Distribution and Kernels

  1. Use a light-weighted Linux distribution. For example, antiX Linux is a light-weighted debian-based Linux operating system.

  2. Use a light-weighted desktop environment, e.g., Xfce or LXQt. When used with Ubuntu, they correspond to Xubuntu and Lubuntu which are both good choices for non-powerful computers.

  3. Keep your Linux distribution up to date. Generally speaking, it is a good idea to use the latest LTS or stable versions.

  4. Remove old kernels.

    wajig purge linux-image-<verson>
    

Lightweight Alternatives

  1. Use dash instead of bash which makes boot faster.

    wajig install dash
    wajig reconfigure dash
    
  2. Use Evince instead of Okular which is resource hungry
    and has lots of KDE dependencies.

Package and Disk Cleanup

  1. Identify orphan packages and remove them.

    sudo deborphan | xargs wajig remove --purge
    
  2. Clean up packages.

    wajig autoremove && wajig autoclean
    
  3. Clean up disk using localepurge.

    wajig install localepurge
    localpurge
    

References

Comments