欢迎访问计算机技术网
计算机技术全领域深度解析计算机技术的多元魅力与无限可能
合作联系QQ2917376929
您的位置: 首页>>技术案例>>正文
技术案例

Linux下监控计算机性能,你的系统军火库

时间:2025-07-25 作者:技术大佬 点击:10319次

,---,Linux下监控计算机性能,你的系统军火库,在Linux环境中,有效监控计算机性能是确保系统稳定、流畅运行以及快速定位问题的关键,掌握一系列强大的命令行工具,就如同拥有了一个功能全面的“系统军火库”,从基础的tophtop开始,它们提供了实时的CPU、内存使用情况概览,直观地展示进程状态,vmstatiostat则深入揭示虚拟内存、系统进程、磁盘I/O等关键指标,帮助识别瓶颈,网络监控方面,netstatssdstat能提供详尽的网络连接、端口状态和流量统计,sar(System Activity Reporter)可以收集并报告历史性能数据,而glances等工具则提供了更友好的图形化或跨平台的监控界面,通过熟练运用这些工具,管理员和开发者能够全面掌握系统健康状况,进行容量规划、性能调优,并在问题发生时迅速响应,保障服务的连续性和效率。

本文目录导读:

  1. 使用top命令
  2. 使用htop命令
  3. 使用vmstat命令
  4. 使用iostat命令
  5. 使用free命令
  6. 使用sar命令
  7. 案例说明
  8. 问答形式

基础监控:先看看系统都在干啥

1 用 top 看系统“实时监控”

top 是Linux下最经典的性能监控工具,打开后就像一个实时仪表盘,显示CPU、内存、进程等信息。

怎么用? 直接在终端输入 top 就能启动。

Linux下监控计算机性能,你的系统军火库

怎么看?

  • 第一行:系统时间、当前运行任务数、系统负载(Load Average,过去1、5、15分钟的平均负载)
  • 第二行:任务总数、运行数、睡眠数、停止数、僵尸数
  • 第三行:CPU使用情况,用户进程、系统进程、空闲、等待I/O等占比
  • 第四行:内存使用情况,物理内存、交换内存、缓存等

案例: 假设你发现服务器变慢,打开 top 发现 load average 是 5.0,而服务器只有4个CPU核心,说明系统负载过高,可能有进程在疯狂占用资源。


2 用 htop 更直观

htoptop 的升级版,界面更友好,支持鼠标操作,还能高亮显示异常进程。

怎么安装?

sudo apt install htop  # Debian/Ubuntu
sudo yum install htop  # CentOS/RHEL

怎么用? 输入 htop,按 F3 可以搜索进程,按 F6 可以按内存或CPU排序,按 F9 可以杀死进程。


3 查看CPU和内存使用情况

vmstat 命令

vmstat 1  # 每秒刷新一次,共刷新5次

输出包括:

  • r:正在运行的进程数
  • b:处于不可中断状态的进程数
  • swpd:虚拟内存使用量
  • free:空闲内存
  • buff/cache:缓存使用的内存

案例: swap 使用量很高,说明物理内存不足,系统在用硬盘空间当内存,速度会变慢。


深入诊断:磁盘、网络、进程全都要看

1 磁盘I/O监控

iostat 命令

sudo apt install sysstat  # 先安装sysstat包
iostat -d 2  # 每2秒查看一次磁盘I/O

输出包括:

  • sda:磁盘名称
  • kB_read/s:读取速度
  • kB_wrtn/s:写入速度

案例: 如果你在备份文件时发现系统卡顿,运行 iostat 发现某个磁盘读写速度异常高,说明I/O瓶颈出现了。


2 网络性能监控

netstatiftop

netstat 查看网络连接状态:

netstat -tuln  # 查看TCP/UDP监听端口

iftop 实时监控网络流量:

sudo apt install iftop
iftop -i eth0  # eth0是网卡名称

它会显示每个连接的实时流量,哪个IP在疯狂下载上传一目了然。

案例: 发现服务器带宽被异常占用,用 iftop 发现有个内部进程在偷偷下载东西,赶紧杀掉!


3 进程资源监控

ps 命令

ps aux | sort -k4 -nr  # 按CPU使用率排序
ps aux | sort -k5 -nr  # 按内存使用率排序

pmap 查看进程内存映射

pmap -d PID  # 查看指定进程的内存使用情况

自动化监控:用 sar 做历史记录

sar 是Sysstat包的一部分,可以记录系统性能数据并生成报告。

安装:

sudo apt install sysstat

配置: 编辑 /etc/default/sysstat,确保 ENABLED="true",然后重启 sysstat 服务:

sudo systemctl restart sysstat

查看历史数据:

sar -u  # CPU使用率
sar -r  # 内存使用率
sar -d  # 磁盘I/O

案例: 你发现每天凌晨系统负载突然升高,用 sar 查看历史记录,发现是某个定时任务在高峰时段运行,调整时间后问题解决。


图形化工具:不想敲命令?试试这些

1 glances:全能监控神器

安装:

pip install glances

使用:

glances

它会显示CPU、内存、磁盘、网络、进程等所有关键指标,界面美观,支持插件扩展。

2 nmon:IBM的监控利器

安装:

sudo apt install nmon

使用:

nmon

F1 查看系统概览,按 F2 查看CPU,按 F3 查看内存,按 F5 查看磁盘,按 F10 退出。


常见问题问答

Q1:如何查看系统负载? A:用 uptimetop 的第一行,Load Average 表示系统平均负载。

Q2:如何查看内存使用情况? A:用 free -hhtop

Q3:如何查看哪个进程占用了大量CPU? A:用 tophtop,按 P 键排序CPU使用率。

Q4:如何查看磁盘空间? A:用 df -h 查看分区,用 du -sh 查看目录大小。

Q5:如何监控网络连接? A:用 netstat -tulnss -tuln


掌握这些,你就是Linux性能专家!

Linux性能监控其实没那么难,关键是要多动手,多观察,从 topsar,从 iostatglances,这些工具就像你的“系统军火库”,随时拿出来就能诊断问题。

性能优化是个持续的过程,发现问题、分析原因、解决问题,循环往复,你就能让系统跑得越来越顺畅!


附:常用工具对比表

工具 功能 是否需要安装 图形化 适合场景
top 实时监控CPU/内存/进程 内置 基础监控
htop top的升级版,支持鼠标 需安装 高级用户
vmstat 查看系统整体状态 内置 负载分析
iostat 磁盘I/O监控 需安装sysstat 磁盘瓶颈排查
netstat 网络连接状态 内置 网络问题排查
iftop 实时网络流量监控 需安装 带宽滥用检测
sar 历史性能数据记录 需安装sysstat 长期监控
glances 图形化全能监控 需安装 全面监控
nmon IBM性能监控工具 需安装 详细系统分析

知识扩展阅读

在Linux系统下,我们可以通过多种方式来查看和管理计算机的性能,本文将详细介绍几种常用的方法,并通过具体的案例和表格来辅助说明。

Linux下监控计算机性能,你的系统军火库

使用top命令

top命令是Linux系统中最常用的性能监控工具之一,它可以实时显示系统的CPU、内存、交换分区等资源的使用情况。

如何使用top命令?

  1. 打开终端。
  2. 输入top并按回车键。

示例输出:

top - 12:34:56 up 12 days, 12:34,  3 users,  load average: 0.03, 0.07, 0.05
Tasks: 299 total,   1 running, 298 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.6 us,  0.7 sy,  0.0 ni, 97.7 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7.7 gi,   1.3 gi,   0.2 gi,   0.1 gi,   5.1 gi,   0 gi,   0 gi
MiB Swap:   2.0 gi,   2.0 gi,   0.0 gi,   0.0 gi,   0.0 gi,   0.0 gi,   0.0 gi
PID TTY          TIME CMD
12345 -      0:00:01 /usr/bin/python3 /home/user/script.py

解释:

  • top命令会实时更新系统资源的使用情况。
  • us表示用户空间占用百分比,sy表示内核空间占用百分比,ni表示改变进程优先级所使用的CPU百分比,id表示空闲时间百分比,wa表示等待I/O完成的百分比。
  • MiB MemMiB Swap分别显示内存和交换分区的使用情况。

使用htop命令

htop是一个基于top的增强版工具,提供了更丰富的界面和更多的功能。

如何使用htop命令?

  1. 打开终端。
  2. 输入sudo apt install htop(适用于Debian/Ubuntu系统)或sudo yum install htop(适用于RHEL/CentOS系统)来安装htop
  3. 输入htop并按回车键。

示例输出:

Warning: This is a graphical interface and may require additional dependencies.
Available processes can be sorted by CPU usage, memory usage, VIRT, RES, command, etc.

解释:

  • htop提供了更直观的界面,可以更方便地查看和管理进程。
  • 可以通过点击列标题对进程进行排序。

使用vmstat命令

vmstat命令可以显示虚拟内存统计数据,以及CPU活动等信息。

如何使用vmstat命令?

  1. 打开终端。
  2. 输入vmstat并按回车键。

示例输出:

procs ----------- cpu %mem %cpu   si   so s   bi   bo   in   out  pet mps
  302     1.6  7.3   0  0.1  0.1  100    0   30    1    2   100

解释:

  • vmstat会显示每个CPU的使用情况,内存使用情况,以及I/O操作等信息。
  • si表示从用户空间转换到内核空间的次数,so表示从内核空间转换到用户空间的次数。

使用iostat命令

iostat命令可以显示系统的磁盘I/O统计信息。

如何使用iostat命令?

  1. 打开终端。
  2. 输入sudo apt install sysstat(适用于Debian/Ubuntu系统)或sudo yum install sysstat(适用于RHEL/CentOS系统)来安装iostat
  3. 输入iostat并按回车键。

示例输出:

Device:         r/s     w/s     rkB/s     wkB/s   kes/s   kes/s   mtk/s mtt/s
sda               0.12    0.08    123.45     67.89    10.23    12.34    100    1000

解释:

  • iostat会显示磁盘的读取和写入速度,以及每秒事务数(TPS)等信息。
  • r/s表示每秒读取操作数,w/s表示每秒写入操作数。

使用free命令

free命令可以显示系统的内存使用情况。

如何使用free命令?

  1. 打开终端。
  2. 输入free -h并按回车键。

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           7.7Gi       1.3Gi       0.2Gi       0.1Gi       5.1Gi       5.1Gi
Swap:          2.0Gi       2.0Gi       0.0Gi       0.0Gi       0.0Gi       0.0Gi

解释:

  • free会显示总内存、已用内存、空闲内存、共享内存、缓冲区内存和可用内存等信息。
  • -h选项使得输出结果以人类可读的格式显示。

使用sar命令

sar是一个综合性的性能监控工具,可以收集、报告和保存系统活动信息。

如何使用sar命令?

  1. 打开终端。
  2. 输入sar -u 1 5(查看CPU使用情况,每秒一次,共5次)或sar -r 1 5(查看磁盘I/O情况,每秒一次,共5次)等。

示例输出:

Linux 5.4.0-42-generic (yourhostname)   2021-07-22 12:34:56 CPU %usr %sys %nice %iowait %steal %idle
12:34:56        0.10      0.05      0.00      0.00      0.00      99.80
12:35:00        0.12      0.06      0.00      0.00      0.00      99.80
...

解释:

  • sar可以收集和报告系统的各种活动信息。
  • -u选项用于收集CPU使用情况,-r选项用于收集磁盘I/O情况。

案例说明

假设你正在使用一台服务器,需要监控其性能,你可以使用上述命令来获取相关信息,并根据实际情况进行分析和优化。

通过top命令发现CPU使用率较高,可能是由于某个进程占用过多资源,这时,你可以使用htop命令进一步查看该进程的详细信息,并采取相应的措施。

或者,通过vmstat命令发现内存使用率较高,可能是由于内存泄漏或进程占用过多内存,这时,你可以使用free命令查看内存使用情况,并结合其他命令进行分析和优化。

在Linux系统下,我们可以通过多种方式来查看和管理计算机的性能,掌握这些命令的使用方法,可以帮助我们更好地管理和优化系统。

问答形式

Q1:如何查看Linux系统的CPU使用情况?

A1:可以使用top命令或htop命令来查看Linux系统的CPU使用情况。top命令会实时更新CPU使用情况,而htop命令则提供了更直观的界面。

Q2:如何查看Linux系统的磁盘I/O情况?

A2:可以使用iostat命令来查看Linux系统的磁盘I/O情况,该命令会显示磁盘的读取和写入速度,以及每秒事务数(TPS)等信息。

Q3:如何查看Linux系统的内存使用情况?

A3:可以使用free命令来查看Linux系统的内存使用情况,该命令会显示总内存、已用内存、空闲内存、共享内存、缓冲区内存和可用内存等信息。

Q4:如何查看Linux系统的网络流量情况?

A4:可以使用iftopnethogs命令来查看Linux系统的网络流量情况。iftop命令提供了实时的网络流量监控,而nethogs命令则根据进程ID进行网络流量监控。

通过掌握这些命令的使用方法,我们可以更好地管理和优化Linux系统。

相关的知识点:

黑客在线查询接单情况,探究数字时代的隐秘产业

揭秘黑客接单平台的真相,真伪混杂,需警惕风险

黑客接单免定金2017,揭秘背后的真相与风险

怎样才能同步查看他人的微信聊天记录,【看这4种方法】

百科科普揭秘黑客接单找人的幕后真相

警惕风险,切勿轻信揭秘所谓免费接单黑客电话背后的真相与风险