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