以下是一篇关于Linux服务器资源监控的详细指南,涵盖内存、磁盘、CPU、网络和端口占用情况的查看方法:
Linux服务器资源监控完全指南
一、内存占用监控
1.1 free 命令
命令格式:
free [选项]
常用选项:
-h:以人类可读格式显示(自动转换单位为GB/MB)-m:以MB为单位显示-s <秒>:持续监控(如free -h -s 5每5秒刷新)
示例输出:
total used free shared buff/cache available
Mem: 15Gi 4.2Gi 2.1Gi 0.5Gi 8.7Gi 10Gi
Swap: 2.0Gi 0.0Gi 2.0Gi
关键指标解读:
total:总内存used:已用内存(包含缓存和缓冲区)free:完全未使用的内存buff/cache:被缓存和缓冲区占用的内存(可被快速释放)available:系统可用内存(估算值)
1.2 top/htop 命令
top # 实时动态视图
htop # 增强版top(需安装)
htop 优势:
- 彩色显示
- 支持鼠标操作
- 直观显示内存占用进程
二、磁盘空间监控
2.1 df 命令
命令格式:
df [选项] [目录]
常用选项:
-h:人类可读格式-i:显示inode使用情况-T:显示文件系统类型
示例:
df -h /home # 查看/home分区使用情况
关键指标:
Use%:使用百分比Mounted on:挂载点
2.2 du 命令
查看目录占用:
du -sh /var/log # 统计/var/log目录总大小
du -h --max-depth=1 / # 查看根目录下一级子目录大小
2.3 磁盘性能监控
iostat -x 1 # 查看磁盘I/O统计(需安装sysstat)
三、CPU监控
3.1 top 命令
关键信息:
%Cpu(s)行:us:用户空间占用sy:内核空间占用id:空闲率wa:I/O等待
3.2 vmstat 命令
vmstat 1 5 # 每秒采样,共5次
输出解读:
r:等待运行的进程数b:不可中断的进程数in:每秒中断次数cs:上下文切换次数
3.3 mpstat 命令
mpstat -P ALL 1 # 查看每个CPU核心的使用情况
四、网络监控
4.1 基础监控
ifconfig # 查看网络接口状态
ip addr # 现代替代命令
netstat -i # 查看网络接口统计
4.2 实时流量监控
nload # 分接口实时流量(需安装)
iftop -nP # 实时连接流量排名(需安装)
4.3 连接状态统计
ss -s # 显示socket统计摘要
netstat -nat # 查看所有TCP连接
五、端口占用监控
5.1 基础查询
netstat -tunlp | grep :80 # 查看80端口占用
ss -tunlp | grep 3306 # MySQL端口查询
5.2 进程级查询
lsof -i :22 # 查看SSH端口占用进程
5.3 端口扫描检测
nmap -sT -p 80,443 127.0.0.1 # 本地端口扫描
六、高级监控工具
6.1 监控全家桶
glances # 综合监控工具(需安装)
nmon # 分屏式监控(支持历史记录)
6.2 长期监控方案
sar -u 1 3 # CPU历史统计(需配置sysstat)
6.3 可视化工具
- Prometheus + Grafana:企业级监控方案
- Netdata:实时可视化监控
七、自动化监控脚本示例
#!/bin/bash
# 每日资源报告
echo "===== Memory ====="
free -h
echo -e "\n===== Disk ====="
df -h | grep -v tmpfs
echo -e "\n===== CPU Top 5 ====="
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -6
echo -e "\n===== Network Connections ====="
ss -s
echo -e "\n===== Port Usage ====="
ss -tunlp | grep LISTEN
八、优化建议
-
内存优化:
- 调整
vm.swappiness(建议值10-60) - 使用
slabtop分析内核内存占用
- 调整
-
磁盘优化:
- 定期清理日志文件
- 使用
iotop定位磁盘I/O高的进程
-
网络优化:
- 使用
tcpdump分析异常流量 - 配置
net.ipv4.tcp_keepalive_time参数
- 使用
-
端口安全:
- 使用
fail2ban防止端口扫描 - 配置防火墙规则(iptables/nftables)
- 使用
九、注意事项
- 部分命令需要root权限(如
iftop,nmap) - 生产环境慎用
-p参数显示进程信息 - 长期监控建议使用标准工具(如Prometheus)
- 注意单位换算(1GiB = 1024MiB,1GB = 1000MB)
通过合理组合这些工具,可以构建完整的服务器监控体系。建议根据实际需求选择命令,对于关键业务服务器建议部署专业监控系统。

2213

被折叠的 条评论
为什么被折叠?



