服务器状态监控是运维工作的核心任务之一,以下整理常用命令及工具,涵盖CPU、内存、磁盘、网络等关键指标的实时监控与分析,适用于Linux系统运维人员。
top
命令
输入 top
可动态查看CPU使用率、进程资源占用等核心数据。
%Cpu(s)
:用户态(us)、系统态(sy)、空闲(id)占比。 Load Average
:1/5/15分钟内的系统负载(建议值:≤CPU核心数×0.7)。 Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie %Cpu(s): 15.3 us, 5.1 sy, 0.0 ni, 79.4 id, 0.2 wa, 0.0 hi, 0.0 si Mem: 7.8Gi total, 6.2Gi used, 1.6Gi free
htop
命令(需安装)
比top
更直观,支持颜色高亮和鼠标操作,可排序进程、查看线程级负载。
安装:sudo apt install htop
(Debian/Ubuntu)或 sudo yum install htop
(CentOS/RHEL)。
free
命令free -h
以易读单位(GB/MB)显示内存和Swap使用情况。
available
:系统可用内存(包含缓存和缓冲)。 Swap
:交换分区使用量(长期占满可能需扩容内存)。vmstat
命令vmstat 2 5
每2秒采样一次,共5次,分析内存、进程、磁盘和CPU。
si
(swap-in)、so
(swap-out):若长期>0,表明内存不足。df
命令df -Th
显示磁盘分区类型、总空间、使用率及挂载点。
Use%
超过80%的分区需清理或扩容。iostat
命令(需安装sysstat
包)iostat -x 1
监控磁盘IO性能,查看读写延迟与吞吐量。
%util
:设备利用率(接近100%表示磁盘过载)。 await
:IO请求平均等待时间(单位:毫秒)。iftop
命令(需安装)
实时监控网卡流量,按IP和端口排序。
安装:sudo apt install iftop
或 sudo yum install iftop
。
netstat
/ss
命令
netstat -tuln
:查看监听中的TCP/UDP端口。 ss -s
:统计当前连接状态(比netstat
更快)。 ps
命令ps aux --sort=-%cpu
按CPU占用率降序显示进程。
ps aux | grep 'Z'
。lsof
命令lsof -i :80
查看占用80端口的进程,排查非规服务。
Prometheus + Grafana
:开源监控系统,支持自定义仪表盘和告警。 Nagios
:企业级监控工具,支持插件扩展。 nmon
:生成服务器性能报告,适合离线分析。crontab
定时运行监控脚本,记录日志。 journalctl
或dmesg
排查内核级错误。引用说明