Ubuntu服务器如何监控性能
小樊
39
2025-12-08 00:54:28
Ubuntu服务器性能监控实用指南
一 快速上手的内置与常用命令
- 实时进程与资源总览:使用top(交互式,按P按CPU、M按内存排序),或安装更易用的htop(
sudo apt install htop)。
- 系统级资源:用vmstat 1(间隔1秒)查看CPU、内存、IO与进程;用iostat -x 2查看磁盘设备的详细IO(需
sysstat:sudo apt install sysstat);用free -h查看内存与交换分区;用nmon综合查看CPU、内存、磁盘、网络。
- 进程级IO与文件:用iotop -oPa定位占用磁盘的进程;用pidstat -d 1按进程统计磁盘IO;用lsof /dev/sdX查看某设备被哪些进程打开。
- 网络:用iftop实时看接口带宽,用nethogs按进程看带宽,用ss -tuln或netstat -tuln查看连接与监听端口。
- 历史与趋势:用sar(来自sysstat)查看历史CPU、内存、IO报表,便于回溯分析。
以上工具覆盖日常排障所需的关键维度,适合无侵入、即开即用的场景。
二 进阶与远程可视化
- 一体化终端监控:用Glances(
sudo apt install glances)在一个页面集中展示CPU、内存、交换、磁盘IO、网络、进程与温度;支持阈值配置、颜色分级,以及C/S模式远程监控(glances -s启动服务端,glances -c <IP>连接)。
- 图形与桌面:桌面环境可用GNOME 系统监视器(活动 → 搜索“系统监视器”)查看CPU、内存、磁盘与网络。
- 企业级监控:部署Prometheus + Grafana做时序数据采集与可视化,或用Nagios、Zabbix做服务可用性、资源阈值与告警。
这些方案便于团队协作、长期可视化与统一告警治理。
三 关键指标与瓶颈判断
- CPU:关注us(用户态)、sy(内核态)、id(空闲)。经验上us+sy > 80%常被视为过载;若sy偏高,多与系统调用、驱动或内核路径相关。
- 内存:当Mem used接近满载且Swap used持续增长,说明物理内存不足,性能会显著下降。
- 磁盘:用iostat关注**%util与await**。常用经验阈值是:%util > 70% 且 await > 10ms时,往往意味着存储子系统出现瓶颈风险。
- 进程:结合top/htop按CPU或内存排序,快速定位异常进程PID,再结合日志与追踪工具深入分析。
以上阈值用于快速筛查,需结合业务特性与基线综合判断。
四 五分钟排障流程与常用命令清单
- 步骤1 先看整体负载:运行top/htop,确认是否有进程长期占用**>70% CPU或>30% 内存**;按P/M排序定位元凶。
- 步骤2 看系统级资源:vmstat 1观察r(运行队列)、si/so(换入/换出)、wa(IO等待)是否异常。
- 步骤3 聚焦磁盘:iostat -x 2检查**%util/await**;用iotop -oPa找出具体进程;必要时用lsof /dev/sdX核对文件与进程关系。
- 步骤4 排查网络:iftop看接口占用,nethogs定位按进程的带宽消耗;用ss -tulpen核对连接与状态。
- 步骤5 回溯历史:用sar查看过往CPU、内存、IO报表,辅助定位间歇性波动。
- 常用命令清单(按需选用):
- 进程与系统:top/htop、vmstat 1、free -h
- 磁盘与IO:iostat -x 2、iotop -oPa、pidstat -d 1、lsof /dev/sdX
- 网络:iftop、nethogs、ss -tuln
- 历史趋势:sar
- 可视化/远程:glances -s/-c 、Prometheus + Grafana
该流程覆盖从“发现异常 → 定位根因 → 验证修复”的最短路径,适合线上快速处置。