Home Knowledge base Skyline Cloud 如何使用 top、htop 及关键指标监控 Linux 服务器 KNOWLEDGE BASE

如何使用 top、htop 及关键指标监控 Linux 服务器

一份逐条命令的实用指南,教你如何使用 top 和 htop 实时监控 Linux 服务器,并讲解如何在 Ubuntu 22.04/24.04 上读懂负载平均值、CPU、内存、交换分区、磁盘 I/O 和网络指标。

如何使用 top、htop 及关键指标监控 Linux 服务器

一份逐条命令的实用指南,教你如何使用 top 和 htop 实时监控 Linux 服务器,并讲解如何在 Ubuntu 22.04/24.04 上读懂负载平均值、CPU、内存、交换分区、磁盘 I/O 和网络指标。

引言

当网站变慢,或某个应用开始出现超时,第一个要问的问题始终是同一个:服务器此刻到底在做什么? 在 Linux 上,你无需部署一整套庞大的监控系统就能回答这个问题。两个内置(或只需一条命令即可安装)的工具——tophtop——再加上少量查看指标的命令,就能让你清晰、实时地了解 CPU、内存、磁盘和网络的运行状况。

本教程将向你演示如何在 Ubuntu 22.04 或 24.04 LTS 上准确读懂这些指标,而这正是你在 Skyline Cloud VPS 或云服务器上所使用的同一套操作系统镜像。下文中的每一条命令都已在一台真实运行的 Ubuntu 主机上验证过。

前置条件

  • 一台运行 Ubuntu 22.04/24.04(或类似发行版)的 Linux 服务器。
  • 拥有可执行 sudo 的用户的 SSH 访问权限。

第 1 步 —— 用 top 一眼掌握系统全局

top 随每个 Linux 发行版一同提供,所以就从它入手。运行它:

top

最有用的部分是顶部的信息头:

top - 21:50:56 up 72 days, 20:54,  3 users,  load average: 1.67, 1.18, 0.76
Tasks:  20 total,   1 running,  19 sleeping,   0 stopped,   0 zombie
%Cpu(s): 29.0 us,  6.5 sy,  0.0 ni, 62.9 id,  0.0 wa,  0.0 hi,  1.6 si,  0.0 st
MiB Mem :   7937.4 total,    402.8 free,   5393.0 used,   2141.6 buff/cache
MiB Swap:    969.0 total,      7.7 free,    961.3 used.   2107.8 avail Mem

每一行所传达的信息:

  • load average(负载平均值) —— 三个数字分别表示最近 1 分钟、5 分钟和 15 分钟的负载。请将它们与你的 CPU 核心数(运行 nproc 查看)作对比。在一台 4 核服务器上,负载为 4.0 意味着完全繁忙;若数值持续远高于核心数,则说明系统过载。
  • %Cpu(s) —— CPU 时间的细分。最值得关注的字段是:us(用户进程)、sy(内核/系统)、id(空闲)和 wa(等待磁盘 I/O)。wa 偏高指向的是磁盘慢,而非 CPU 慢。在 VPS 上 st(被窃取)高于 0,意味着有「吵闹的邻居」正在抢占你的 CPU 时钟周期。
  • Mem / Swap(内存 / 交换分区) —— 包括总量、空闲、已用以及 buff/cache。真正要关注的数字是 avail Mem,而不是 free:Linux 会有意地把多余的内存用作缓存,因此「free」偏低是正常且健康的现象。

top 运行时常用的按键:按 M 按内存排序,按 P 按 CPU 排序,按 1 分别显示每个核心,按 k 通过 PID 终止某个进程,按 q 退出。

第 2 步 —— 安装并使用 htop 获得更友好的视图

htop 是一个交互式、彩色编码的进程查看器,比 top 易读得多。安装它:

sudo apt update
sudo apt install -y htop

然后运行:

htop

顶部会显示每个核心的 CPU 条、一个内存条和一个交换分区条。这些颜色对应不同的使用类型——就 CPU 条而言,蓝色是低优先级,绿色是用户态,红色是内核/系统态时间。下方是一个可滚动的进程列表。

相比 top 的主要优势:

  • 用方向键滚动;无需把所有内容塞进一屏。
  • F6 更改排序列,或按 F4 按进程名筛选。
  • F5 切换到树状视图,展示父子进程关系。
  • F9 向高亮的进程发送信号(终止)——无需输入 PID。

若要进行较长时间的观察,htop 通常是你在一个 SSH 窗口中保持打开、同时复现问题的那个工具。

第 3 步 —— 用 free 精确查看内存和交换分区

top 实时显示内存;free 则给出一份清晰的快照:

free -h
               total        used        free      shared  buff/cache   available
Mem:           7.8Gi       5.3Gi       417Mi       129Mi       2.1Gi       2.1Gi
Swap:          968Mi       961Mi       7.0Mi

请读取 available 这一列来判断真实的内存压力——它估算的是在不发生交换的前提下,可被新程序回收使用的内存量。如果 available 接近于零 并且 交换分区被大量使用,说明服务器内存吃紧,你应当扩容或排查内存泄漏。仅仅是轻度使用交换分区本身并不值得警惕。

第 4 步 —— 用 uptimevmstat 理解负载与运行队列

如果想在不打开 top 的情况下用一行命令查看负载:

uptime

要观察是什么在随时间推移驱动着负载,vmstat 会按指定间隔对系统进行采样(这里是每隔 1 秒一次,共 5 次):

vmstat 1 5
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0 984328 412820 232880 1960148    0    1   389    74    0    1 11  2 86  0  1

最左边的两列是关键:r 是等待 CPU 的进程数,b 是因 I/O 而被阻塞的进程数。如果 r 持续超过你的核心数,说明你受限于 CPU;而 b 持续偏高则意味着磁盘或网络 I/O 成为瓶颈。si/so 这两列显示换入/换出量——这里只要高于 0,就表示正在发生活跃的交换,会损害性能。

第 5 步 —— 用 iostat 观察磁盘 I/O

iostatsysstat 软件包的一部分:

sudo apt install -y sysstat
iostat -xz 2 3

这会每隔 2 秒报告一次各设备的扩展统计信息,共三次。重点关注:

  • %util —— 设备的繁忙程度;数值接近 100% 意味着磁盘已饱和。
  • await —— 每个 I/O 请求的平均耗时(毫秒),包含排队时间。await 上升意味着磁盘正在吃力。
  • r/sw/s —— 每秒的读取数和写入数。

如果你在 top 中曾看到 wa 偏高,这里就是确认磁盘是否为元凶的地方。

第 6 步 —— 用 ss 检查网络连接

ssnetstat 的现代替代品。要快速查看套接字摘要:

ss -s

要列出正在监听的 TCP 端口以及各端口背后的进程:

sudo ss -tlnp

某个端口上的已建立连接数突然激增——同时 htop 中 CPU 偏高——往往指向流量骤增或某个滥用的客户端。

指标速查参考

指标 命令 健康表现 警告表现
负载平均值 uptimetop 等于或低于核心数 持续高于核心数
CPU tophtop id 高,wa/st wa 高(磁盘)或 st 高(VPS 资源争用)
内存 free -h available 充裕 available 接近 0 且大量使用交换分区
运行队列 vmstat 1 5 rb 都低 r 高(CPU)或 b 高(I/O)
磁盘 I/O iostat -xz 2 3 %util 低、await %util 接近 100%,await 上升
网络 ss -sss -tlnp 连接数稳定 连接数突然激增

结语

有了 tophtopfreevmstatiostatss,你几乎可以诊断任何「服务器感觉变慢了」的报告,而无需安装一整套监控平台。先用 htop 获取实时全景,再用 free -h 确认内存状况,当看到 I/O 等待偏高时则深入用 iostat 排查磁盘。

这些工具在配置得当的服务器上能发挥出最佳效果。在 Skyline Cloud VPS 或云服务器上,你将获得 Ubuntu 22.04/24.04 LTS 镜像、契合 PDPL、NCA 和 SDAIA 要求的境内数据驻留,以及本地阿拉伯语支持团队。欢迎了解完整的沙特阿拉伯云托管产品系列;如果你在同一套基础设施上运行邮件服务,也可以查看企业邮箱托管方案。

准备好在「不出王国境内」的基础设施上运用这些监控技能了吗?创建你的 Skyline Cloud 账户,几分钟内即可启动一台服务器。

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.