Linux服务器常见的监控指令解析
【摘要】 在 Linux 中监控 CPU、内存、磁盘、网络的指令非常丰富,以下是 最常用、实用的监控指令,按 “指标分类 + 指令详解 + 核心用法” 整理,新手也能快速上手:一、CPU 监控(核心:查看负载、使用率、进程占用)1. top(实时监控,最常用)功能:实时显示系统整体 CPU 负载、进程 CPU 占用排名(默认每 3 秒刷新)。核心用法:top # 直接运行,进入实时监控界面界面关键信...
在 Linux 中监控 CPU、内存、磁盘、网络的指令非常丰富,以下是 最常用、实用的监控指令,按 “指标分类 + 指令详解 + 核心用法” 整理,新手也能快速上手:
一、CPU 监控(核心:查看负载、使用率、进程占用)
1. top(实时监控,最常用)
- 功能:实时显示系统整体 CPU 负载、进程 CPU 占用排名(默认每 3 秒刷新)。
- 核心用法:
top # 直接运行,进入实时监控界面 - 界面关键信息:
- 第一行:
Cpu(s): 20.0%us(用户态 CPU 使用率)、5.0%sy(内核态 CPU 使用率)、75.0%id(空闲 CPU 使用率)。 - 第三行:
%Cpu0~%CpuN(多核心 CPU 各自使用率)。 - 进程列:
%CPU(单个进程占用 CPU 百分比)。
- 第一行:
- 常用快捷键:
P:按 CPU 使用率排序(默认正序)。1:显示所有 CPU 核心的详细使用率。q:退出监控。
2. htop(top 增强版,更直观)
- 功能:比
top界面更友好,支持鼠标操作、颜色区分进程状态。 - 核心用法:
# 先安装(Ubuntu/Debian):sudo apt install htop # 先安装(CentOS/RHEL):sudo yum install htop htop # 运行后直接查看,默认按 CPU 排序
3. mpstat(查看多 CPU 核心详情)
- 功能:专门统计单个 / 所有 CPU 核心的使用率,适合分析 CPU 负载不均衡问题。
- 核心用法
mpstat # 查看所有 CPU 平均使用率 mpstat -P ALL # 显示每个 CPU 核心的详细数据(0 代表第一个核心,1 代表第二个,以此类推) mpstat 1 5 # 每 1 秒刷新一次,共刷新 5 次(适合持续监控)
4. pidstat(查看单个进程的 CPU 占用)
- 功能:精准定位某个进程的 CPU 使用情况(避免
top刷屏)。 - 核心用法:
pidstat -u 1 3 # 每 1 秒统计一次所有进程的 CPU 使用率,共 3 次 pidstat -u -p 1234 1 3 # 只监控 PID=1234 的进程,每 1 秒刷新,共 3 次
二、内存监控(核心:查看总内存、已用 / 空闲内存、进程内存占用)
1. free(快速查看内存使用概况)
- 功能:显示物理内存(RAM)和交换分区(Swap)的总容量、已用、空闲数据。
- 核心用法:
free -h # -h:以人类可读单位(GB/MB)显示(推荐) free -m # 以 MB 为单位显示 - 输出示例:
total used free shared buff/cache available Mem: 15Gi 2.3Gi 10Gi 342Mi 3.1Gi 12Gi Swap: 19Gi 0B 19Gi- 关键指标:
available(实际可分配给新进程的内存,含空闲 + 缓存可释放部分),比free更能反映真实内存状态。
- 关键指标:
2. top/htop(实时查看进程内存占用)
- 核心用法:运行
top或htop后,关注进程列:%MEM:进程占用物理内存的百分比。VIRT:进程虚拟内存大小(含共享库、交换空间)。RES:进程实际占用的物理内存大小(不含共享库,核心指标)。
- 快捷键:
M(按内存使用率排序)。
3. vmstat(监控内存 + CPU+IO 整体状态)
- 功能:综合监控内存交换、页面调度、CPU 负载,适合排查内存瓶颈。
- 核心用法:
vmstat 1 5 # 每 1 秒刷新一次,共 5 次 - 关键输出:
si(Swap in):从交换分区读入内存的数据量(越大说明内存不足,频繁使用 Swap)。so(Swap out):从内存写入交换分区的数据量(同上,si/so 长期非 0 代表内存紧张)。
三、磁盘监控(核心:查看磁盘容量、IO 负载、分区使用)
1. df(查看磁盘分区容量)
- 功能:显示所有挂载分区的总容量、已用空间、空闲空间、使用率。
- 核心用法:
df -h # -h:人类可读单位(GB/MB),推荐 df -T # 显示分区文件系统类型(ext4、xfs 等) df -h /home # 只查看 /home 分区的容量情况
2. du(查看目录 / 文件占用磁盘空间)
- 功能:统计单个目录或文件的磁盘占用大小(
df看分区整体,du看具体文件 / 目录)。 - 核心用法:
du -sh /var/log # 统计 /var/log 目录总占用(-s:只显示总和,-h:人类可读) du -h --max-depth=1 /home # 显示 /home 下一级目录的占用情况(不递归子目录) du -h /home/user/*.log # 统计指定类型文件的占用
3. iostat(监控磁盘 IO 负载)
- 功能:查看磁盘的读写速度、IO 等待时间(判断磁盘是否繁忙)。
- 核心用法:
iostat -x 1 5 # -x:显示详细 IO 指标,每 1 秒刷新,共 5 次 iostat -x -d sda 1 5 # 只监控 sda 磁盘(如 /dev/sda)的 IO 状态 - 关键指标:
%util:磁盘 IO 使用率(接近 100% 说明磁盘繁忙,可能是瓶颈)。tps:每秒 IO 请求数(读 + 写)。rMB/s/wMB/s:每秒读 / 写数据量(MB)。
4. iotop(磁盘 IO 进程排名)
- 功能:类似
top,但按磁盘 IO 使用率排序,精准定位 “谁在占用磁盘 IO”。 - 核心用法:
# 安装:sudo apt install iotop(Ubuntu)/ sudo yum install iotop(CentOS) iotop # 运行后查看,默认按 IO 使用率排序 iotop -o # 只显示正在进行 IO 操作的进程(过滤空闲进程,更清晰)
四、网络监控(核心:查看网络连接、带宽占用、网卡状态)
1. ifstat(查看网卡带宽占用)
- 功能:实时显示每个网卡的收发带宽(字节 / 秒、包 / 秒)。
-
核心用法:# 安装:sudo apt install ifstat(Ubuntu)/ sudo yum install ifstat(CentOS) ifstat # 实时监控所有网卡带宽 ifstat -i eth0 1 5 # 只监控 eth0 网卡,每 1 秒刷新,共 5 次 - 输出示例:
eth0 wlan0 KB/s in KB/s out KB/s in KB/s out 0.00 0.00 0.00 0.00 1.20 3.40 0.00 0.00 # 实时收发速率
2. iftop(网络带宽进程排名)
- 功能:按进程 / IP 的网络带宽占用排序,直观查看 “谁在占用网络”。
- 核心用法:
# 安装:sudo apt install iftop(Ubuntu)/ sudo yum install iftop(CentOS) iftop -i eth0 # 监控 eth0 网卡的带宽占用 - 界面快捷键:
N:显示 IP 地址(默认显示主机名,按 N 切换)。P:显示端口号(如 80、443)。q:退出。
3. netstat(查看网络连接状态)
- 功能:列出所有网络连接(TCP/UDP)、监听端口、进程 PID。
- 核心用法(常用组合参数):
netstat -tuln # 查看所有监听的 TCP/UDP 端口(-t:TCP,-u:UDP,-l:监听,-n:数字显示端口) netstat -anp # 查看所有网络连接(含 ESTABLISHED 连接)及对应进程 PID(-a:所有连接,-p:显示进程) netstat -anp | grep 80 # 过滤端口 80 的连接(排查 HTTP 服务)
4. ss(netstat 替代版,更快更高效)
- 功能:与
netstat功能一致,但性能更好(大并发连接下不卡顿),推荐优先使用。 - 核心用法:
ss -tuln # 等价于 netstat -tuln(查看监听端口) ss -anp # 等价于 netstat -anp(查看所有连接+进程) ss -anp | grep 443 # 过滤 HTTPS 端口(443)的连接
5. ping(测试网络连通性)
- 功能:测试与目标 IP / 域名的网络连通性(基于 ICMP 协议)。
- 核心用法:
ping baidu.com # 持续 ping 百度,测试连通性 ping -c 4 baidu.com # 只 ping 4 次(避免持续刷屏)
五、综合监控工具(一次性监控所有指标)
如果想同时监控 CPU、内存、磁盘、网络,推荐用以下工具:
1. glances(全能监控工具)
- 功能:一站式监控所有系统指标,支持 Web 界面、远程监控。
- 核心用法:
# 安装:sudo apt install glances(Ubuntu)/ sudo yum install glances(CentOS) glances # 本地实时监控(界面含 CPU、内存、磁盘、网络、进程排名) glances -w # 启动 Web 服务,浏览器访问 http://服务器IP:61208 查看监控
总结:常用指令速查表
| 监控指标 | 快速查看指令 | 详细分析指令 |
|---|---|---|
| CPU | top / htop |
mpstat、pidstat -u |
| 内存 | free -h |
top(按 M 排序)、vmstat |
| 磁盘容量 | df -h |
du -sh 目录 |
| 磁盘 IO | iostat -x |
iotop |
| 网络带宽 | ifstat |
iftop |
| 网络连接 | ss -tuln / ss -anp |
netstat -anp |
| 综合监控 | glances |
根据需求选择即可:快速排查用
top+free -h+df -h+ss;精准定位问题用 pidstat+iotop+iftop。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)