服务器监控入门:该看哪些指标

用几条基础命令看懂 CPU、内存、磁盘、网络和进程,判断你的服务器是否健康。

买了一台 VPS 或云服务器,跑上业务之后,你迟早会问:它现在忙不忙?会不会快撑不住了?监控就是回答这些问题的手段。它的价值不只是「出事后查原因」,更是在用户投诉之前发现苗头——磁盘快满、内存被吃光、CPU 长期跑满,这些都有征兆。下面介绍几个核心指标,以及在 Ubuntu/Debian 上如何快速查看。

核心指标

CPU 使用率与 load average

CPU 使用率告诉你处理器有多忙,但更能说明问题的是 load average(平均负载)——它代表「正在运行 + 等待运行」的任务数。经验法则:把 load 除以 CPU 核数,接近 1.0 说明刚好跑满,长期远大于核数说明任务在排队、系统吃力。

uptime          # 看 1/5/15 分钟三个 load 值
nproc           # 查有几个核,用来做除法

三个数从左到右是近 1、5、15 分钟,能看出负载是在上升还是回落。

内存与 swap

内存不够时系统会动用 swap(交换到磁盘),一旦大量用 swap,性能会断崖式下跌。

free -h

重点看 available 一列(真正可用的内存),而不是 free——Linux 会把空闲内存拿去做缓存,这很正常。如果 Swap 的 used 持续增长,说明内存已经吃紧。

磁盘空间与 IO

磁盘写满会让服务直接崩溃,却常被忽略。

df -h           # 看各挂载点剩余空间,盯住 Use%
du -sh /var/*   # 定位是谁占了空间

空间之外还要看 IO:磁盘读写是否成为瓶颈。用 vmstat 的 wa(iowait)列判断——数值偏高说明 CPU 在空等磁盘。

vmstat 1 5      # 每秒采样一次,共 5 次

网络带宽

关注进出流量是否异常。突发的大流量可能是正常访问,也可能是被攻击或数据外泄。

cat /proc/net/dev          # 各网卡累计收发字节
ss -s                      # 连接数概览

进程

当某个指标飙高,你需要知道是谁干的。

top             # 实时看谁吃 CPU / 内存,按 P / M 排序
ps aux --sort=-%cpu | head   # 列出 CPU 占用前几名

一分钟快速体检

登上一台可疑的服务器,建议按这个顺序敲:

  • uptime:负载趋势
  • free -h:内存是否紧张
  • df -h:磁盘是否快满
  • top:锁定异常进程

四条命令基本能判断「有没有问题、大概在哪」。

何时该上专业监控

上面这些是手动、即时的排查工具,只反映你敲命令那一刻的状态。当出现这些情况,就该上专业监控(如 Prometheus + Grafana、Netdata,或你服务商提供的监控面板):

  • 需要历史曲线,回看昨晚三点到底发生了什么;
  • 需要告警,在磁盘到 90% 时自动通知你;
  • 管理多台服务器,不可能逐台手敲命令。

小结

监控的核心就五类指标:CPU 与 load、内存与 swap、磁盘空间与 IO、网络、进程。日常用 uptime、free、df、top、vmstat 就能快速体检;当你需要历史数据、自动告警或管理多台机器时,再引入专业监控系统。先养成敲这几条命令的习惯,你对自己服务器的「体感」会清晰很多。