«

Linux查看CPU内存负载top命令详解

时间:2026-11-14 07:44     作者:emer     分类: 无


top 是 Linux 上最常用的实时资源监控工具,一屏看到 CPU、内存、负载和进程排行。很多人打开 top 只看一眼数字就关掉,却读不懂各字段含义,导致判断不出到底是 CPU 忙、内存不够还是 I/O 卡顿。本文把 top 顶部统计区和进程表逐列讲清,并给出常用交互按键。

一、启动与退出

top

直接进入实时界面,按 q 退出;想刷新间隔设为 2 秒:

top -d 2

只看某个进程:

top -p 1234

二、顶部统计区逐行解读

第一行(负载行):

up 120 days, load average: 0.25, 0.18, 0.10

第二、三行是 CPU 占用拆分:

Cpu(s): 1.2%us, 0.5%sy, 0.0%ni, 98.1%id, 0.2%wa

内存两行:

KiB Mem : total free used buff/cache
KiB Swap: total free used avail

注意 buff/cache 是缓存,不是被浪费;真正可用看 avail(可用内存),used 高不必紧张。

三、进程表关键列

PID  USER  PR  NI  VIRT  RES  SHR  S  %CPU  %MEM  TIME+  COMMAND

按 %CPU 排序(默认),大写 M 按内存排序,大写 P 切回 CPU 排序。

四、常用交互按键

五、判断瓶颈的经验

  1. %us 长期接近 100%:计算密集,先找高 CPU 进程。
  2. %wa 高:磁盘 I/O 堵,换 iostat、iotop 细看。
  3. avail 很低、swap used 上涨:内存不足,会触发换页卡顿。
  4. 负载高但 CPU 不高:多为 I/O 等待或大量进程排队。
  5. 想看历史趋势别只靠 top,配合 sar、vmstat 采样。

常见坑

  1. 把 buff/cache 当成“内存被占满”,其实缓存可回收,看 avail 才准。
  2. 负载数值不和核心数比,单核机器负载到 1 就已经饱和。
  3. top 里 %CPU 可能超过 100%,那是多核累加,属正常。
  4. 一次性快照不能说明问题,要看持续趋势。
  5. 杀进程用 k 前先确认 PID,别误杀关键服务。

总结

top 先读负载和 CPU 的 us/wa 区分计算还是 I/O 瓶颈,内存看 RES 和 avail 而非 used,进程表按 P/M 排序定位高占用 PID,再用 k 处理。日常排查配合 iostat、vmstat、sar 更可靠。

遇到问题加QQ23979811 协助处理

标签: top CPU 内存 负载 进程监控