Linux服务器监控命令详解
在Linux服务器管理中,实时监控系统性能是确保服务稳定运行的关键,命令行工具因其轻量级、高效且无需图形界面的特性,成为运维人员的核心工具,以下12个常用命令覆盖了CPU、内存、磁盘、网络等核心指标的监控:
top
– 实时进程监控
- 功能:动态显示进程资源占用(CPU、内存)
- 关键操作:
P
:按CPU使用率排序M
:按内存使用排序1
:展开多核CPU详情
- 示例输出关键列:
PID USER %CPU %MEM TIME+ COMMAND 123 root 9.6 2.1 00:10 nginx
htop
(增强版top)
- 优势:彩色界面、鼠标支持、直观树状进程视图
- 安装:
sudo apt install htop
(Debian/Ubuntu) - 操作:
F6
:按指标排序F2
:自定义显示列
vmstat
– 系统资源概览
- 监控项:进程、内存、分页、块IO、CPU中断
- 示例:每2秒刷新,连续3次
vmstat 2 3
- 输出关键指标:
si/so
:Swap换入/换出(>0需警惕)us/sy
:用户/系统CPU时间占比
iostat
– 磁盘I/O分析
- 安装:
sysstat
包(sudo apt install sysstat
) - 常用参数:
iostat -dx 2 # 每2秒显示设备详细统计
- 关键数据:
%util
:设备利用率(接近100%表示过载)await
:I/O平均等待时间(ms)
free
– 内存使用统计
- 推荐参数:
free -h
(人性化单位显示) - 输出解读:
available
:可用内存(含缓存和缓冲)- 若
Swap
持续使用,需检查物理内存是否不足
df
– 磁盘空间检查
- 常用命令:
df -hT
- 重点列:
Use%
:使用率(>80%需清理)Type
:文件系统类型(如ext4/xfs)
du
– 目录空间分析
- 查找大文件:
du -sh /var/* | sort -rh | head -5
显示/var
下最大的5个目录
netstat
/ ss
– 网络连接分析
netstat
经典用法:
netstat -tulnp
# 查看监听端口与进程- 现代替代
ss
(更快更高效):
ss -s
# 统计连接摘要
ss -tunlp
# 等效于netstat -tulnp
iftop
– 实时带宽监控
- 安装:
sudo apt install iftop
- 用法:
sudo iftop -i eth0
- 界面说明:
- 顶部:带宽刻度
- 中部:主机对流量(按流量排序)
- 底部:累计发送/接收量
dstat
– 全能监控工具
- 优势:整合
vmstat
、iostat
、netstat
数据 - 示例:
dstat -cmsn --top-cpu
同时监控CPU、内存、网络及高CPU进程
sar
– 历史性能追溯
- 功能:通过
sysstat
包记录历史数据 - 查看昨日CPU报告:
sar -f /var/log/sysstat/saXX
(XX为日期) - 配置:编辑
/etc/default/sysstat
启用日志
glances
– 一体化仪表盘
- 安装:
pip install glances
- 特点:Web界面(
-w
参数)、API支持、告警功能 - 监控项:温度、磁盘、网络、进程等(如下图)
监控实践建议
- 自动化组合:
使用脚本定时收集数据(如cron
+sar
),示例:# 每10分钟记录一次 */10 * * * * /usr/lib/sa/sa1
- 阈值告警:
通过top -b -n1 | grep "load average"
提取负载,配合邮件通知脚本。 - 容器监控:
Docker环境使用docker stats
或cAdvisor
。
重要提示:命令行工具适合即时诊断,长期监控推荐结合Prometheus+Grafana或Zabbix等平台,实现可视化与历史分析。
参考资料
- Linux Man Pages – 官方命令手册
- Sysstat Documentation –
iostat
/sar
工具集 - Glances Docs – 一体化监控工具指南
- 《Linux性能优化大师》- Brendan Gregg – 机械工业出版社
通过掌握这些命令,您将能快速定位服务器瓶颈(如CPU过载、内存泄漏、磁盘IO瓶颈),确保业务高效稳定运行,定期监控与基线比对是性能优化的基石。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/37076.html