如何在CentOS上进行性能监控
小樊
39
2025-12-09 21:45:35
CentOS性能监控实操指南
一 快速上手 内置与常用命令
- 系统概览与负载:uptime、top(按P按CPU、M按内存排序)、free -h(查看物理/交换/缓存)、df -h(磁盘空间)、vmstat 1 5(整体资源与I/O概览)。
- 磁盘与I/O:iostat -xz 1(需安装sysstat,查看磁盘繁忙度、队列、await、svctm 等)、iotop(按进程查看磁盘读写,需安装)。
- 进程与I/O细节:pidstat -d 1(按进程统计I/O)、ps aux --sort=-%cpu | head(按CPU占用列出进程)。
- 网络与连接:ss -tulnp(比 netstat 更快更现代)、iftop(按连接实时带宽)、nload(按网卡总带宽)、vnstat -l(按时间统计历史/实时带宽)、nethogs(按进程统计带宽)、tcpdump(抓包分析,定位异常流量/连接)。
- 日志与故障排查:journalctl -xe(系统级日志)、journalctl -u (服务日志)。
二 实时与可视化工具
- 终端增强:htop(交互式、支持按键筛选/杀进程)、glances(跨平台,聚合CPU/内存/磁盘/网络/进程)、nmon(跨平台,CPU/内存/磁盘/网络一屏展示)、dstat(全能采样,CPU/内存/磁盘/网络合并视图)。
- Web/集中式:
- Cockpit(CentOS 内置/可选Web控制台,资源监控、服务与存储管理一体化,适合单机与小规模)。
- Zabbix(企业级监控,支持告警、模板、图形与自动发现)。
- Prometheus + Grafana(时序数据+强大可视化,适合中大型与云原生环境)。
三 历史与长期监控
- 启用并采集系统活动数据:安装sysstat后启用并启动服务,使用sar回看历史指标。
- 安装与启用:sudo yum install -y sysstat && sudo systemctl enable --now sysstat
- 常用回看:
- CPU:sar -u 1 60(每秒采样,共60次)
- 内存:sar -r 1 60
- 磁盘:sar -d 1 60
- 网络:sar -n DEV 1 60
- 网络历史统计:vnstat -l(实时)、vnstat -d/-m/-y(按日/月/年统计)。
- 轻量Web监控:Monitorix(安装 EPEL 后部署,浏览器访问 http://<服务器地址>:8080/monitorix/)。
四 一键排查流程与关键指标
- CPU瓶颈:运行top/htop,关注load average是否高于CPU核数、用户态/系统态占用、是否有进程长期占满;结合vmstat 1观察r(运行队列)是否持续偏大、si/so(换入/换出)是否非零。
- 内存压力:用free -h查看可用内存与缓存命中;若swap持续增长或si/so频繁,说明内存紧张。
- 磁盘I/O:用iostat -xz 1观察**%util是否接近100%、await与svctm是否过高;再用iotop/pidstat -d 1**定位具体进程。
- 网络异常:用iftop/nload确认带宽是否被占满;用nethogs定位按进程的流量;用ss -s查看当前连接数;必要时tcpdump抓包分析。
- 服务与内核:用systemctl status 与journalctl -xe/-u 查看服务状态与错误日志,配合dmesg排查内核/驱动异常。
五 常用安装与启动命令
- 基础工具:sudo yum install -y htop nmon dstat sysstat
- 网络工具:sudo yum install -y epel-release && sudo yum install -y iftop nload nethogs vnstat
- I/O工具:sudo yum install -y iotop pidstat
- Web/集中式:
- Cockpit:sudo yum install -y cockpit && sudo systemctl enable --now cockpit.socket
- Monitorix:sudo yum install -y epel-release && sudo yum install -y monitorix && sudo systemctl enable --now monitorix.service(访问 http://:8080/monitorix/)