news 2026/4/3 5:00:12

Linux性能监控工具全家桶一文掌握系统状态

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux性能监控工具全家桶一文掌握系统状态

本文系统介绍Linux性能监控工具,从CPU、内存、磁盘到网络,一站式掌握系统状态观测。

前言

服务器卡了,怎么排查?

Linux下有大量性能监控工具,但很多人只会用top。今天把这些工具一网打尽,建立完整的性能观测知识体系。


一、性能监控全景图

┌─────────────────────────────────────┐ │ 应用层 │ │ strace, ltrace, perf │ └─────────────────────────────────────┘ ↓ ┌─────────────┬─────────────┬─────────────┬─────────────┐ │ CPU │ 内存 │ 磁盘 │ 网络 │ ├─────────────┼─────────────┼─────────────┼─────────────┤ │ top/htop │ free │ df/du │ ifconfig │ │ mpstat │ vmstat │ iostat │ netstat │ │ pidstat │ /proc/meminfo│ iotop │ ss │ │ uptime │ slabtop │ lsblk │ iftop │ │ sar │ pmap │ hdparm │ nethogs │ └─────────────┴─────────────┴─────────────┴─────────────┘ ↓ ┌─────────────────────────────────────┐ │ 综合工具 │ │ glances, nmon, dstat, atop │ └─────────────────────────────────────┘

二、CPU监控

2.1 top - 经典进程查看器

top# 输出说明:# load average: 1分钟、5分钟、15分钟平均负载# %Cpu(s): us用户态, sy内核态, id空闲, wa等待IO# 进程列表:PID, USER, %CPU, %MEM, COMMAND

常用操作:

  • 1:显示每个CPU核心
  • M:按内存排序
  • P:按CPU排序
  • k:杀死进程
  • q:退出

2.2 htop - 增强版top

# 安装aptinstallhtop# Debian/Ubuntuyuminstallhtop# CentOShtop# 优点:# - 彩色显示# - 鼠标支持# - 直观的CPU/内存条# - 树形进程视图

常用操作:

  • F2:设置
  • F3:搜索进程
  • F4:过滤
  • F5:树形视图
  • F9:杀死进程

2.3 mpstat - CPU统计

# 每秒显示一次,共5次mpstat15# 显示每个CPU核心mpstat -P ALL1# 输出说明:# %usr: 用户态# %sys: 内核态# %iowait: IO等待# %idle: 空闲

2.4 uptime - 负载查看

uptime# 输出:10:30:01 up 5 days, 2:30, 2 users, load average: 0.52, 0.58, 0.59# load average说明:# 1分钟、5分钟、15分钟平均负载# 单核CPU:负载1.0表示满载# 多核CPU:负载等于核心数表示满载

三、内存监控

3.1 free - 内存使用

free-h# 输出:# total used free shared buff/cache available# Mem: 15Gi 5.2Gi 1.2Gi 512Mi 8.8Gi 9.5Gi# Swap: 2.0Gi 256Mi 1.8Gi# 关键指标:# available:实际可用内存(比free更准确)# buff/cache:可回收的缓存

3.2 vmstat - 虚拟内存统计

# 每秒显示一次vmstat1# 输出说明:# r: 运行队列长度# b: 不可中断睡眠进程数# swpd: 使用的swap# free: 空闲内存# buff/cache: 缓冲/缓存# si/so: swap换入/换出# bi/bo: 块设备读/写# us/sy/id/wa: CPU使用率

3.3 pmap - 进程内存映射

# 查看进程内存使用详情pmap -x<pid># 显示:# 地址、大小、RSS、脏页、映射的文件

四、磁盘监控

4.1 df - 磁盘使用

df-h# 输出:# Filesystem Size Used Avail Use% Mounted on# /dev/sda1 100G 60G 40G 60% /# 查看inodedf-i

4.2 du - 目录大小

# 查看目录大小du-sh /var/log# 查看子目录大小并排序du-sh /*2>/dev/null|sort-rh|head-10# 查看指定深度du-h --max-depth=1/var

4.3 iostat - IO统计

# 每秒显示一次iostat -x1# 关键指标:# %util: 设备繁忙程度(>70%需关注)# await: 平均IO等待时间(毫秒)# r/s, w/s: 每秒读写次数# rMB/s, wMB/s: 每秒读写MB

4.4 iotop - IO版top

# 安装aptinstalliotop# 运行(需要root)sudoiotop# 常用选项iotop -o# 只显示有IO的进程iotop -a# 累计IO

五、网络监控

5.1 netstat/ss - 连接状态

# 查看TCP连接netstat-ant ss -ant# 查看监听端口netstat-tlnp ss -tlnp# 统计连接状态ss -s# 查看端口占用ss -tlnp|grep:80

5.2 iftop - 网络流量

# 安装aptinstalliftop# 运行(需要root)sudoiftop# 指定网卡sudoiftop -i eth0

5.3 nethogs - 进程流量

# 安装aptinstallnethogs# 运行sudonethogs# 查看哪个进程在占用带宽sudonethogs eth0

5.4 nload - 网卡流量

# 安装aptinstallnload# 运行nload# 显示入站/出站流量曲线图

六、综合监控工具

6.1 glances - 全能监控

# 安装pipinstallglances# 运行glances# Web模式glances -w# 访问 http://localhost:61208

特点:

  • CPU、内存、磁盘、网络一屏显示
  • 支持Web界面
  • 支持远程监控
  • 可导出到InfluxDB

6.2 nmon - IBM监控工具

# 安装aptinstallnmon# 运行nmon# 按字母键切换显示:# c: CPU# m: 内存# d: 磁盘# n: 网络

6.3 dstat - 资源统计

# 安装aptinstalldstat# 运行dstat# 显示所有信息dstat -cdngy# 输出到CSVdstat --output stats.csv160

6.4 atop - 高级top

# 安装aptinstallatop# 运行atop# 特点:# - 记录历史数据# - 显示磁盘IO# - 进程级别详细信息

七、进程级别分析

7.1 pidstat - 进程统计

# CPU使用pidstat1# 内存使用pidstat -r1# IO统计pidstat -d1# 指定进程pidstat -p<pid>1

7.2 strace - 系统调用追踪

# 追踪进程系统调用strace-p<pid># 追踪新进程stracels-la# 统计系统调用strace-cls-la

7.3 lsof - 打开文件列表

# 查看进程打开的文件lsof-p<pid># 查看端口占用lsof-i :80# 查看用户打开的文件lsof-u username

八、远程监控方案

8.1 本地工具远程访问

如果服务器在远程,可以通过SSH访问这些工具:

# 直接SSH连接sshuser@serverhtop

如果服务器在家里,没有公网IP,可以用组网软件(如星空组网)连接后再SSH:

# 组网后通过虚拟IP访问sshuser@10.10.0.1

8.2 Prometheus + Grafana

对于多台服务器,建议使用专业监控系统:

# 安装node_exporter采集数据wgethttps://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gztarxf node_exporter*.tar.gz ./node_exporter

Prometheus配置采集,Grafana展示图表。


九、常用排查场景

9.1 CPU高

# 1. 确认CPU使用率top# 2. 找到占用CPU的进程psaux --sort=-%cpu|head# 3. 分析进程strace-p<pid>pidstat -p<pid>1

9.2 内存不足

# 1. 查看内存使用free-h# 2. 找到占用内存的进程psaux --sort=-%mem|head# 3. 查看进程详细内存pmap -x<pid>

9.3 磁盘IO高

# 1. 确认IO情况iostat -x1# 2. 找到IO高的进程iotop -o# 3. 分析进程IOpidstat -d -p<pid>1

9.4 网络问题

# 1. 查看网络连接ss -ant# 2. 查看流量iftop nethogs# 3. 抓包分析tcpdump -i eth0 port80

十、工具速查表

场景工具命令
整体概览htop/glanceshtop
CPU使用mpstatmpstat 1
内存使用freefree -h
磁盘空间dfdf -h
磁盘IOiostatiostat -x 1
网络连接ssss -ant
网络流量iftopsudo iftop
进程流量nethogssudo nethogs
进程IOiotopsudo iotop
系统调用stracestrace -p <pid>

十一、总结

Linux性能监控工具选择:

  1. 日常查看htop(比top更直观)
  2. 综合监控glances(一屏看所有)
  3. CPU分析mpstatpidstat
  4. 内存分析freevmstat
  5. 磁盘分析iostatiotop
  6. 网络分析ssiftopnethogs
  7. 深入分析straceperf

建议:先用综合工具(htop/glances)定位问题方向,再用专项工具深入分析。


参考资料

  1. Linux Performance Analysis in 60 Seconds
  2. Brendan Gregg’s Linux Performance
  3. 《性能之巅》

💡建议:把这些命令存到服务器上的备忘文件里,排查问题时可以快速翻阅。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 2:01:55

17、网络编程与服务应用实战

网络编程与服务应用实战 在网络编程领域,我们常常需要获取各类在线服务的数据,如比特币汇率、电子邮件信息,以及进行文本翻译等操作。下面将详细介绍如何利用相关工具和库实现这些功能。 1. 获取比特币汇率 许多在线服务都提供了用于查询比特币市场价格和汇率的 API。例如…

作者头像 李华
网站建设 2026/4/1 18:51:00

Edge TTS技术深度解析:解锁跨平台微软语音合成新可能

Edge TTS技术深度解析&#xff1a;解锁跨平台微软语音合成新可能 【免费下载链接】edge-tts Use Microsoft Edges online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key 项目地址: https://gitcode.com/GitHub_Trending/ed/e…

作者头像 李华
网站建设 2026/4/2 17:20:21

57、深入了解 Linux 与 Ubuntu:从内核管理到商业应用

深入了解 Linux 与 Ubuntu:从内核管理到商业应用 1. Linux 内核与模块管理 mkinitrd 工具 :mkinitrd 会查看 /etc/fstab 、 /etc/modprobe.conf 和 /etc/raidtab 文件,以获取在启动时确定应加载哪些模块所需的信息。例如,在某些系统中,会使用如下命令: # mkini…

作者头像 李华
网站建设 2026/4/1 3:37:06

BetterDiscord终极指南:快速解锁Discord隐藏功能

BetterDiscord终极指南&#xff1a;快速解锁Discord隐藏功能 【免费下载链接】BetterDiscordApp Better Discord App enhances Discord desktop app with new features. 项目地址: https://gitcode.com/gh_mirrors/be/BetterDiscordApp 想要让Discord变得更加强大和个性…

作者头像 李华
网站建设 2026/3/31 5:56:04

重装系统C盘格式化,MYSQL恢复

背景&#xff1a;mysql在E盘&#xff0c;但是C盘重装系统&#xff0c;以前的注册表之类的都没有了&#xff0c;想重新恢复mysql的使用。1. 配置以前的环境变量2. 按照下面的步骤注册并启动服务C:\Users\Administrator>net stop mysql 没有启动 mysql 服务。请键入 NET HELPM…

作者头像 李华
网站建设 2026/4/1 8:01:14

MS-SSIM:图像恢复领域的“黄金标准“评价指标

MS-SSIM&#xff1a;图像恢复领域的"黄金标准"评价指标 【免费下载链接】deep-image-prior Image restoration with neural networks but without learning. 项目地址: https://gitcode.com/gh_mirrors/de/deep-image-prior 当面对一张模糊、噪点密布或部分缺…

作者头像 李华