Linux 性能优化:工具和技术
对于中级 Linux 用户,您可能已经对管理 Linux 系统的基本系统工具和技术有所熟悉。但为了进一步优化系统性能,有必要更深入地使用监控工具和调优技术。在本教程中,我们将介绍一些最基本的性能调优技术和监控工具,它们将帮助您优化 Linux 机器。
在本教程中您将学习:
用于监控系统性能的工具
优化Linux性能的技术
监控工具
首先,我们将介绍一些有用的 Linux 监控工具。当尝试优化系统时,您必须准确了解资源的消耗情况以及计算机上正在运行哪些进程。如果您发现某些东西占用资源或在后台运行不必要的进程,这将帮助您做出必要的调整。
top 和 htop – 进程监控
top
命令是默认安装的,它是查看系统上 CPU 和 RAM 使用情况的好方法。它还允许您检查哪些进程消耗最多的系统资源。这将使您了解是否有必要升级系统组件,或控制可能占用过多系统 CPU 或内存的服务。
$ top
更好的替代方案是 htop
命令,它与 top
类似,但更易于人类阅读。它为您提供了一个更容易理解和交互的摘要,但默认情况下通常不安装该程序。如果可能的话,强烈建议安装此程序并使用它来快速了解哪些进程正在消耗系统的大部分硬件资源。
安装htop:
$ sudo apt install htop # Ubuntu, Debian, Linux Mint
$ sudo dnf install htop # Fedora, Red Hat, CentOS, AlmaLinux
$ sudo pacman -S htop # Arch Linux, Manjaro
使用htop:
$ htop
硬盘输入/输出统计
例如,如果您使用的计算机执行大量读/写操作(例如繁忙的数据库服务器),则需要检查磁盘活动。这可以借助 iostat 命令来完成,该命令将为我们提供有关系统中所有硬盘的输入和输出操作的统计信息。
iostat
在 sysstat 包中可用。要安装 sysstat:
$ sudo apt install sysstat # Ubuntu, Debian, Linux Mint
$ sudo dnf install sysstat # Fedora, Red Hat, CentOS, AlmaLinux
$ sudo pacman -S sysstat # Arch Linux, Manjaro
要使用 iostat:
$ iostat
或者连续运行10秒:
$ iostat -d 1 10
Nagios – 监控多个设备的性能
Nagios 是一种流行的开源监控工具,可以监视网络设备、服务器和后台服务的性能。如果超过预定阈值,Nagios 将向系统管理员发出警报,以便采取纠正措施。这为用户提供了一种掌控所有设备的方式,以确保它们按预期工作。
您可以从官方网站下载Nagios。
智能数据 – 检查硬盘健康状况
所有硬盘都会收集有关其性能统计数据、坏扇区、开机时间和其他信息的数据。这些统计信息称为 SMART(自我监控分析和报告技术)数据,如果您的系统安装了 smartmontools
软件包,则可以查看这些数据。
要安装 smartmontools:
$ sudo apt install smartmontools # Ubuntu, Debian, Linux Mint
$ sudo dnf install smartmontools # Fedora, Red Hat, CentOS, AlmaLinux
$ sudo pacman -S smartmontools # Arch Linux, Manjaro
要使用 smartmontools 检查硬盘驱动器 (/dev/sda) 的当前状态:
$ sudo smartctl -a /dev/sda
要查看更多 smartctl
使用示例并了解如何在硬盘驱动器上运行诊断测试,请查看有关如何使用 smartctl 从命令行检查硬盘驱动器运行状况的教程。
斯塔瑟
Stacer 允许 Linux 用户监控和优化其操作系统的多个方面。 Stacer监控包括但不限于CPU负载监控、磁盘性能和使用情况。 Stacer 还允许多种系统配置,并且能够执行磁盘清理。
性能调优
有很多方法可以调整 Linux 系统的性能,并且您使用的技术可能会根据您使用的系统类型(例如,数据库服务器与备份服务器)而有所不同。下面列出了一些可以对任何类型的 Linux 系统进行的最通用的优化:
通过消除正在运行的进程来减少系统开销
计算机的资源由系统上运行的进程使用。因此,释放资源并提高性能的最简单方法之一是消除系统上不需要的任何服务。您可以使用 systemctl
命令查看 Linux 系统上运行的服务/守护程序列表。
# systemctl list-units --type=service
有关更多信息以及如何禁用服务运行,请参阅我们的教程:如何使用 systemctl 列出 systemd Linux 上的服务
使用优化的桌面环境
在任何 Linux 系统上,最消耗资源的事物之一就是桌面环境。这是 Linux 服务器一般根本不运行 GUI 的主要原因之一。如果您因为使用系统进行桌面活动(例如观看视频和浏览网页)而需要 GUI,那么您可能需要考虑安装轻量级桌面环境,例如 LXQt。此类桌面环境是专门针对性能而设计的,并且缺乏 GNOME、KDE 等大型桌面环境中许多不必要的美观和功能。请参阅我们的关于在没有 GUI 的情况下使用 Linux 的教程以获取更多信息。
定制内核
定制内核是一个非常高级的过程,会让绝大多数 Linux 用户感到困惑,但这绝对是优化 Linux 系统的好方法。它允许我们完全剥离操作系统中不需要的组件。例如,Web 服务器不需要声音驱动程序,因此可以将它们排除在 Linux 内核之外。
这个过程相当漫长,需要大量解释,因此我们有专门的指南在 Debian/Ubuntu 上构建自定义内核来帮助您完成该过程。这个选项非常先进,在大多数情况下不是必需的,但仍然可以是一个有趣的实验。
结束语
在本教程中,我们了解了一些有助于在 Linux 系统上进行性能优化的工具和技术。通过监控系统性能并进行逐步调整,您可以减少系统开销并获得响应速度更快的系统并释放资源。通过使用正确的工具和技术,您可以将 Linux 性能提升到一个新的水平。