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

在 Linux 系统中,查看机器负载情况有多种工具和命令,以下是最常用的几种方式:
1. uptime - 快速查看系统负载
这是最简单的命令,直接显示系统运行时间和平均负载:
bash
uptime输出示例:
plaintext
15:30:45 up 2 days, 3:45, 2 users, load average: 0.89, 0.76, 0.65load average: 0.89, 0.76, 0.65分别表示 1 分钟、5 分钟、15 分钟 内的系统平均负载- 负载值一般建议不超过系统 CPU 核心数(如 4 核 CPU 负载长期超过 4 则表示过载)
📌本次

2. top - 实时监控系统状态
top 是动态监控工具,能实时显示进程和系统资源占用:
bash
top主要关注内容:
- 顶部的
load average:同uptime的负载均值 Tasks行:总进程数、运行中(running)、睡眠(sleeping)、僵尸(zombie)进程数量%Cpu(s)行:CPU 使用率(用户态、系统态、空闲等)KiB Mem和KiB Swap:内存和交换分区使用情况
操作:按 q 退出,按 P 按 CPU 排序,按 M 按内存排序。
📌本次

3. htop - 更直观的交互式监控(需安装)
htop 是 top 的增强版,界面更友好,支持鼠标操作:
bash
# 安装(以 Debian/Ubuntu 为例)
sudo apt install htop
# 运行
htop优势:
- 彩色显示不同类型的进程和资源
- 支持横向滚动查看完整命令
- 可直接在界面中操作进程(终止、优先级调整等)
📌本次

4. vmstat - 查看系统整体资源统计
vmstat 可以输出内存、进程、IO 等系统整体统计信息:
bash
# 显示一次统计
vmstat
# 每秒刷新一次,共显示 5 次
vmstat 1 5关键指标:
r:运行队列中的进程数(越大表示 CPU 压力越大)b:处于不可中断睡眠状态的进程数(通常与 IO 相关)swpd:交换分区使用量si/so:交换分区的读 / 写速率(非零表示内存不足)us/sy/id:用户态 / 系统态 / 空闲的 CPU 时间占比
📌本次

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:每秒读写数据量
📌本次

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 15Giavailable:实际可用内存(比free更能反映真实可用资源)
通过组合使用这些工具,可以全面了解 Linux 机器的 CPU、内存、磁盘 IO 等负载情况,定位系统性能瓶颈。
📌本次
