服务器监控入门:该看哪些指标
用几条基础命令看懂 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 就能快速体检;当你需要历史数据、自动告警或管理多台机器时,再引入专业监控系统。先养成敲这几条命令的习惯,你对自己服务器的「体感」会清晰很多。