Skip to content
0

如何查看一个linux 机器上发的负载情况

如何查看一个linux 机器上发的负载情况?

背景

image-20250913220858643

在 Linux 系统中,查看机器负载情况有多种工具和命令,以下是最常用的几种方式:

1. uptime - 快速查看系统负载

这是最简单的命令,直接显示系统运行时间和平均负载:

bash
uptime

输出示例:

plaintext
15:30:45 up 2 days,  3:45,  2 users,  load average: 0.89, 0.76, 0.65
  • load average: 0.89, 0.76, 0.65 分别表示 1 分钟、5 分钟、15 分钟 内的系统平均负载
  • 负载值一般建议不超过系统 CPU 核心数(如 4 核 CPU 负载长期超过 4 则表示过载)

📌本次

image-20250913220948702

2. top - 实时监控系统状态

top 是动态监控工具,能实时显示进程和系统资源占用:

bash
top

主要关注内容:

  • 顶部的 load average:同 uptime 的负载均值
  • Tasks 行:总进程数、运行中(running)、睡眠(sleeping)、僵尸(zombie)进程数量
  • %Cpu(s) 行:CPU 使用率(用户态、系统态、空闲等)
  • KiB MemKiB Swap:内存和交换分区使用情况

操作:按 q 退出,按 P 按 CPU 排序,按 M 按内存排序。


📌本次

image-20250913221123990

3. htop - 更直观的交互式监控(需安装)

htoptop 的增强版,界面更友好,支持鼠标操作:

bash
# 安装(以 Debian/Ubuntu 为例)
sudo apt install htop

# 运行
htop

优势:

  • 彩色显示不同类型的进程和资源
  • 支持横向滚动查看完整命令
  • 可直接在界面中操作进程(终止、优先级调整等)

📌本次

image-20250913221612062

4. vmstat - 查看系统整体资源统计

vmstat 可以输出内存、进程、IO 等系统整体统计信息:

bash
# 显示一次统计
vmstat

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

关键指标:

  • r:运行队列中的进程数(越大表示 CPU 压力越大)
  • b:处于不可中断睡眠状态的进程数(通常与 IO 相关)
  • swpd:交换分区使用量
  • si/so:交换分区的读 / 写速率(非零表示内存不足)
  • us/sy/id:用户态 / 系统态 / 空闲的 CPU 时间占比

📌本次

image-20250913221642856

5. iostat - 查看磁盘 IO 负载(需安装)

如果怀疑负载高是由磁盘 IO 引起,可用 iostat

bash
# 安装
sudo apt install sysstat  # Debian/Ubuntu
sudo yum install sysstat  -y # CentOS/RHEL

# 查看磁盘 IO 统计
iostat

主要关注:

  • %util:磁盘利用率(接近 100% 表示磁盘繁忙)
  • r/s/w/s:每秒读写次数
  • rkB/s/wkB/s:每秒读写数据量

📌本次

image-20250913221800678

6. free - 查看内存使用情况

bash
# 以人类可读格式显示
free -h

输出示例:

plaintext
              total        used        free      shared  buff/cache   available
Mem:           15Gi       8.2Gi       2.1Gi       382Mi       5.2Gi       7.0Gi
Swap:          15Gi          0B        15Gi
  • available:实际可用内存(比 free 更能反映真实可用资源)

通过组合使用这些工具,可以全面了解 Linux 机器的 CPU、内存、磁盘 IO 等负载情况,定位系统性能瓶颈。

📌本次

image-20250913221846582

最近更新