在Linux系统中,查看负载和详细信息,最常用的命令是 top,它能提供动态、全面的系统概览。此外,还有几个命令可以从不同角度提供信息。
👑 主力工具:top - 全方位的动态监控
top 是Linux下最常用的性能分析工具,能实时显示系统整体状态和各个进程的资源占用。
直接在终端输入 top 即可进入交互界面。
输出信息解读
top 的输出主要分为两部分:
1. 统计信息区 (前5行)
这是系统的整体概况,关键信息如下:
- 第1行:系统概览:显示了当前时间、系统已运行时间、当前登录用户数和系统平均负载。
load average: 三个数值分别代表过去1分钟、5分钟、15分钟的平均负载。这个值需要结合CPU核心数来看,若长期超过CPU核心数,通常意味着系统过载。安全阈值建议为 CPU核心数 × 0.7。
- 第2行:进程状态:显示了进程总数及各种状态的进程数量。
zombie(僵尸进程) 数量应特别关注,过多则需排查。 - 第3行:CPU使用率:这是分析性能瓶颈的核心。
us(用户空间):用户进程消耗的CPU占比。sy(系统内核):内核消耗的CPU占比。id(空闲):空闲CPU百分比。wa(I/O等待):等待磁盘I/O操作的时间占比。如果这个值持续偏高(如 > 30%),通常意味着磁盘I/O是瓶颈。
- 第4、5行:内存状态:显示了物理内存 (
MiB Mem) 和交换分区 (MiB Swap) 的总量、已用、空闲等信息。
2. 进程信息区
列出了当前消耗资源的具体进程,包含 PID (进程ID)、USER (用户)、%CPU (CPU使用率)、%MEM (内存使用率)、COMMAND (命令名) 等关键列。
top 常用交互操作
进入 top 界面后,可以按以下快捷键进行排序和操作:
P:按 CPU 使用率 降序排列(大写P)。M:按 内存使用率 降序排列(大写M)。q:退出top界面。
📋 其他常用查看命令
uptime:最快速的概览。显示系统运行时间和1、5、15分钟的平均负载。$ uptime 16:16:52 up 1:13, 1 user, load average: 0.01, 0.00, 0.00w:显示登录用户及其活动,首行信息与uptime相同。cat /proc/loadavg:直接查看内核提供的负载数据。除了三个负载值,还显示运行/总进程数等。$ cat /proc/loadavg 1.02 0.89 0.65 2/985 4210
🔍 进阶分析工具
当 top 显示系统负载高时,可用以下工具进一步定位原因:
vmstat:查看系统综合性能。重点关注r(运行队列) 和b(阻塞进程) 列,以及wa(I/O等待) 和us/syCPU时间。$ vmstat 1mpstat:多核CPU分析。查看每个CPU核心的使用率,判断负载是否均匀。$ mpstat -P ALL 1pidstat:按进程查看详细资源使用。可查看特定进程的CPU、内存、I/O等统计信息。$ pidstat -u 1 # 查看CPU $ pidstat -r 1 # 查看内存 $ pidstat -d 1 # 查看磁盘I/Oiotop:磁盘I/O分析。实时查看哪些进程在进行大量的磁盘读写操作。$ sudo iotop -o # -o 只显示有I/O操作的进程sar:历史数据回溯。sar是强大的历史性能数据收集工具,可用于事后分析。$ sar -q # 查看平均负载历史 $ sar -u # 查看CPU使用率历史htop:top的增强版。界面更友好,支持鼠标操作,但通常需要单独安装。$ htop