top 实时性能监控

2024-02-10 00:00:00

目录:

在终端输入 top 命令按回车,可以看到如下图所示内容,上面部分是系统总体统计信息,下面进程信息列表是每个进程的详细信息。

上面部分: 系统总体统计信息

第一行:任务队列与系统负载(Uptime)

top - 22:31:16 up 109 days, 12:50,  1 user,  load average: 0.12, 0.23, 0.12
  • 22:31:16 当前系统时间;
  • up 109 days, 12:50 服务器已经连续持续运行时间;
  • 1 user 当前登录用户数;
  • load average: 0.12, 0.23, 0.12 系统在最近1分钟、5分钟、15分钟的平均负载,反映了系统的繁忙程度。通常,如果平均负载值持续超过逻辑 CPU 的核心数,则表明系统可能过载;

第二行:进程(Tasks)摘要

Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
  • total:进程总数;
  • running:正在运行的进程数;
  • sleeping:睡眠(等待事件)的进程数;
  • stopped:被停止(如通过 Ctrl+Z)的进程数;
  • zombie:僵尸进程数。若非零,表示有进程已终止但其资源未被父进程回收,需要关注;

第三行:CPU(Cpu(s))状态

%Cpu(s):  1.7 us,  0.8 sy,  0.0 ni, 97.3 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
  • us (%us):用户空间进程占用 CPU 时间的百分比;
  • sy (%sy):内核空间进程占用 CPU 时间的百分比;
  • ni (%ni):被调整过优先级(nice值)的用户进程占用的CPU百分比;
  • id (%id):空闲 CPU 百分比,值越高系统越空闲
  • wa (%wa):等待 I/O 操作完成的 CPU 时间百分比。如果持续过高(如超过 30%),可能表示存在 I/O 瓶颈
  • hi (%hi):处理硬件中断所占用的时间;
  • si (%si):处理软件中断所占用的时间;
  • st (%st):在虚拟化环境中,被虚拟机监控程序(Hypervisor)“偷走”的CPU时间百分比;

第四行:物理内存(Mem)使用情况

MiB Mem :   1720.9 total,     96.8 free,    526.4 used,   1097.7 buff/cache

有的机器最前面是 MiB,表示后面 1720.9 的单位是 MB,有的机器前面是 KiB,表示后面的单位就是 KB。

  • total:物理内存总量;
  • used:已使用的物理内存量;
  • free:空闲的物理内存量;
  • buffers (buff/cache的一部分):用作内核缓冲区缓存的内存量;

第五行:交换分区(Swap)使用情况

MiB Swap:   1025.0 total,    663.0 free,    362.0 used.   1036.3 avail Mem
  • total:交换分区总量;
  • used:已使用的交换分区量。如果这个值在持续变化,说明物理内存可能不足,系统正在频繁进行内存和 Swap 的数据交换;
  • free:空闲的交换分区量;
  • cached (buff/cache的一部分):缓冲的交换区总量,即被换出过但又换入内存、尚未被覆盖的页面大小;

并不是说 free 值越小,表示内存越紧张,可用内存 ≈ free + buffers + cached。

下面部分: 进程信息列表

表格默认按照 CPU 占用率从高到低动态变化。

  • PID:process id,进程 ID;
  • USER:进程所属用户名,这里的用户名不一定和系统用户名一致;
  • PR:进程优先级,数字越小优先级越高;
  • NI:Nice值,用于调整进程的静态优先级。范围从-20(最高优先级)到19(最低优先级)。负值表示高优先级;
  • VIRT:进程使用的虚拟内存总量(Virtual Memory Size),单位KB,VIRT = SWAP + RES;
  • RES:进程使用的物理内存总量(Resident Memory Size),单位KB,RES = CODE + DATA;
  • SHR:进程使用的共享内存大小(Shared Memory),单位KB;
  • S:进程状态,R=运行,S=睡眠,D=不可中断的睡眠(通常与IO相关),T=停止/跟踪,Z=僵尸进程;
  • %CPU:进程占用 CPU 的百分比,在多核系统中,该值可能超过100%(例如,一个进程完全占用两个核心,则显示200%);
  • %MEM:该进程使用的物理内存占总物理内存的百分比;
  • COMMAND:启动该进程的命令名称或命令行,使用 -c 选项或交互命令 c 可显示完整命令行;

交互命令

在 top 运行界面中,按下特定键可以执行交互操作。

  • P 按照 CPU 占用率从大到小排序;
  • M 按照内存使用率从大到小排序;
  • N 按照进程 ID 从小到大排序;
  • 1(数字键):切换显示所有 CPU 的总体信息与每个逻辑 CPU 的单独信息;
  • u 随后输入用户名,仅显示该用户的进程,按 = 退出过滤模式
  • f 进入字段选择界面,可以自定义显示哪些列
  • o 暂停当前界面,按 esc 退出暂停
  • q 退出 top 运行界面;

返回首页

本文总阅读量  次
皖ICP备17026209号-3
总访问量: 
总访客量: