掌握top、free、df、iostat、ss和sar等命令可高效监控Linux资源;top/htop实时查看CPU与内存,free -h显示内存使用,df -h检查磁盘占用,iostat -x 1分析I/O性能,ss或nethogs监控网络连接与带宽,vmstat和sar提供系统活动概览及历史数据,结合脚本可实现自动化告警。

监控Linux系统资源是运维和开发中的基础任务,能帮助及时发现性能瓶颈、排查异常进程、优化系统运行效率。下面介绍常用的命令与工具,帮你快速掌握资源监控方法。
1. 实时查看CPU和内存使用情况(top/htop)
top 是最常用的动态查看系统资源的命令,实时显示CPU、内存、进程等信息。
常用操作:- 直接输入 top 回车,进入实时监控界面
- P 按CPU使用排序
- M 按内存使用排序
- k 可以杀掉指定进程ID
- q 退出 top
如果系统支持,推荐安装 htop,界面更友好,支持鼠标操作和颜色高亮。
安装 htop(以Ubuntu为例):sudo apt install htop
运行 htop 后,可直接上下选择进程,F9 调用 kill 命令,体验更流畅。
2. 查看内存使用详情(free)
free 命令用于查看物理内存和交换空间的使用情况。
常用参数:- free -h:以人类可读的方式(GB、MB)显示内存
- free -s 2:每2秒刷新一次,持续监控
关注 available 列,表示当前可用内存,比“free”列更准确反映实际可用资源。
3. 监控磁盘使用与I/O性能(df/iostat)
df 查看文件系统磁盘占用情况。
推荐用法:df -h:以易读格式列出各分区使用率
重点关注使用率超过80%的分区,避免磁盘满导致服务异常。
iostat 来自 sysstat 包,用于监控磁盘I/O性能。
- iostat -x 1:每秒输出一次详细的I/O统计
- %util 接近100% 表示设备繁忙,可能存在I/O瓶颈
- await 较高说明I/O等待时间长
4. 查看网络状态与流量(netstat/ss 和 nethogs)
netstat 或更现代的 ss 可查看网络连接状态。
常用命令:- ss -tuln:列出所有监听的TCP/UDP端口
- netstat -anp | grep :80:查看80端口的连接情况
nethogs 按进程展示网络带宽使用,适合定位谁在大量传数据。
安装并运行:sudo apt install nethogs
sudo nethogs eth0
5. 综合监控工具(vmstat 和 sar)
vmstat 提供虚拟内存、进程、CPU活动的概览。
用法:vmstat 2:每2秒输出一次系统状态
关注 si/so(swap in/out)是否频繁,判断内存压力。
sar(sysstat组件)能记录历史数据,适合长期分析。
示例:- sar -u 2 5:每2秒采样一次,共5次,查看CPU使用
- sar -r 2 5:查看内存使用历史
- 默认日志保存在 /var/log/sa/ 目录下
基本上就这些。掌握 top、free、df、iostat、ss 和 sar 这几个工具,日常监控基本无忧。搭配脚本或定时任务,还能实现自动化告警。不复杂但容易忽略细节,比如单位换算、缓存影响、采样间隔设置等,多用几次就熟悉了。










