Linux top命令详解,看这篇就够了

发布时间:2023年12月23日

top 是 Linux 系统中用于实时监视系统状态的工具。它可以显示系统中的 CPU 使用率、内存使用情况、运行中的进程等信息,并且还可以实时更新这些信息。

top 命令的输出包括以下列:

  1. PID:进程ID。
  2. USER:进程的拥有者。
  3. PR:进程的优先级。
  4. NI:nice值,用于调整进程的优先级。
  5. VIRT:进程使用的虚拟内存量。
  6. RES:进程使用的、未被交换出的物理内存大小。
  7. SHR:共享内存大小。
  8. S:进程的状态。
  9. %CPU:占用的CPU使用率。
  10. %MEM:占用的物理内存使用率。
  11. TIME+:进程启动后占用的总CPU时间。
  12. COMMAND:启动进程的命令行。

top命令截图

在这里插入图片描述

top详情面板解释

top - 10:32:52 up 205 days, 17:10,  1 user,  load average: 0.27, 0.63, 1.05
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  7.3 us,  1.8 sy,  0.0 ni, 90.4 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3675.0 total,    377.3 free,   2843.1 used,    454.6 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    600.6 avail Mem
  1. top - 10:32:52 up 205 days, 17:10, 1 user, load average: 0.27, 0.63, 1.05

    • top: 这是命令本身,表示正在查看系统的实时状态。
    • 10:32:52: 当前系统时间是 10 点 32 分 52 秒。
    • up 205 days, 17:10: 系统已经运行了 205 天 17 小时 10 分钟。
    • 1 user: 有 1 个用户当前登录系统。
    • load average: 0.27, 0.63, 1.05: 这表示系统的平均负载。三个数字分别代表过去 1 分钟、5 分钟和 15 分钟的平均负载。负载是系统中等待运行的任务数量。
  2. Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie

    • 1 total: 系统总共有 1 个进程。
    • 0 running: 没有进程正在运行。
    • 1 sleeping: 有 1 个进程在休眠状态。
    • 0 stopped: 没有进程被停止。
    • 0 zombie: 没有僵尸进程。僵尸进程是已完成但其父进程还未收回其资源的进程。
  3. %Cpu(s): 7.3 us, 1.8 sy, 0.0 ni, 90.4 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st

    • 这部分描述了 CPU 的使用情况。其中:
      • us: user space,用户空间占用的 CPU 时间百分比。
      • sy: system space,内核空间占用的 CPU 时间百分比。
      • ni: nice value,改变过优先级的进程占用的 CPU 时间百分比。
      • id: idle,空闲的 CPU 时间百分比。
      • wa: wait,等待 I/O 的 CPU 时间百分比。
      • hi: hardware interrupt,硬件中断占用的 CPU 时间百分比。
      • si: software interrupt,软件中断占用的 CPU 时间百分比。
      • st: steal time,虚拟环境中被其他虚拟机占用的 CPU 时间百分比。
  4. MiB Mem : 3675.0 total, 377.3 free, 2843.1 used, 454.6 buff/cache

    • 这描述了系统的内存使用情况。
    • 3675.0 total: 总内存为 3675 MiB。
    • 377.3 free: 空闲的内存为 377.3 MiB。
    • 2843.1 used: 被使用的内存为 2843.1 MiB。
    • 454.6 buff/cache: 被缓冲和缓存的内存为 454.6 MiB。这部分内存是为了提高文件访问速度而被系统用作缓存的内存。
  5. MiB Swap: 0.0 total, 0.0 free, 0.0 used. 600.6 avail Mem

    • 这描述了交换空间的使用情况(在物理内存不足时,系统会使用硬盘作为额外的内存,称为交换空间)。
    • 0.0 total: 总交换空间为 0 MiB。这意味着你的系统没有配置交换分区或交换文件。在现代系统中,这通常是正常的,因为现代系统通常使用虚拟内存管理来管理内存和硬盘之间的空间分配,而不需要显式的交换分区或交换文件。
    • 600.6 avail Mem: 可用的物理内存是 600.6 MiB(包括缓冲和缓存)。这部分内存可用于满足新的内存需求,而不必使用交换空间。

top数据列解释

在这里插入图片描述

  1. PID:进程ID,唯一标识一个进程的编号。
  2. USER:进程所有者的用户名。
  3. PR:进程的优先级。
  4. NI:nice值,用于调整进程的优先级。默认值是0,范围是-20到19。
  5. VIRT:进程使用的虚拟内存总量,单位是KB。
  6. RES:进程当前使用的、驻留在物理内存中的大小,单位是KB。
  7. SHR:共享内存大小,单位是KB。
  8. S:进程的状态。常见的状态有R(运行中)、S(休眠)、Z(僵尸进程)等。
  9. %CPU:该进程占用的CPU使用率。
  10. %MEM:该进程占用的物理内存使用率。
  11. TIME+:该进程启动后总共运行的时间,单位是分钟:秒。
  12. COMMAND:启动进程的命令名称或命令行。

top -hv

root@smtp:~# top -hv
  procps-ng 3.3.17
Usage:
  top -hv | -bcEeHiOSs1 -d secs -n max -u|U user -p pid(s) -o field -w [cols]
  1. top -hv

    • -h:显示帮助信息,列出所有可用的命令和选项。
    • -v:显示版本信息。
  2. -bcEeHiOSs1:这些是 top 命令的选项。

    • -b:批处理模式,使 top 在批处理模式下运行。
    • -c:显示完整的命令行。
    • -E:显示环境变量。
    • -e:显示当前时间。
    • -H:显示线程信息。
    • -i:显示空闲和低优先级的进程。
    • -O:指定排序的字段。
    • -s:安全模式,不显示系统进程。
    • -1:只显示一个进程。
  3. -d secs:设置刷新间隔为 secs 秒。

  4. -n max:运行 max 次刷新。

  5. -u|U user:只显示属于 user 的进程。

  6. -p pid(s):只显示指定 pid(s) 的进程。

  7. -o field:按照指定的字段进行排序。

  8. -w [cols]:设置屏幕宽度为 cols 列。

top交互式命令

输入top命令后可以再输入其他字符进行界面交互

命令解释
1以不同的方式显示进程列表
键盘上下建查看更多或更少的进程
q退出top或交互式文档
h打开交互模式帮助文档

top交互模式帮助文档

Help for Interactive Commands - procps-ng 3.3.17
Window 1:Def: Cumulative mode Off.  System: Delay 3.0 secs; Secure mode Off.

  Z,B,E,e   Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
  l,t,m,I   Toggle: 'l' load avg; 't' task/cpu; 'm' memory; 'I' Irix mode
  0,1,2,3,4 Toggle: '0' zeros; '1/2/3' cpu/numa views; '4' cpus two abreast
  f,F,X     Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width

  L,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/right
  R,H,J,C . Toggle: 'R' Sort; 'H' Threads; 'J' Num justify; 'C' Coordinates
  c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
  x,y     . Toggle highlights: 'x' sort field; 'y' running tasks
  z,b     . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
  u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
  n,#,^O  . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
  V,v     . Toggle: 'V' forest view; 'v' hide/show forest view children

  k,r       Manipulate tasks: 'k' kill; 'r' renice
  d or s    Set update interval
  W,Y,!     Write config file 'W'; Inspect other output 'Y'; Combine Cpus '!'
  q         Quit
          ( commands shown with '.' require a visible task display window ) 
Press 'h' or '?' for help with Windows,
Type 'q' or <Esc> to continue 

这段文本是procps-ng工具中top命令的交互模式帮助文档。procps-ng是一个UNIX和Linux系统下的工具集,用于显示系统和进程信息。其中的top命令可以实时显示系统中各个进程的资源占用状况。

帮助文档解释

  • Z,B,E,e:全局设置。‘Z’ 用于颜色设置;‘B’ 用于粗体显示;‘E’/‘e’ 用于摘要/任务内存比例。
  • l,t,m,I:切换显示。‘l’ 加载平均;‘t’ 任务/cpu;‘m’ 内存;‘I’ Irix模式。
  • 0,1,2,3,4:切换不同的显示模式。
  • f,F,X:字段设置。‘f’/‘F’ 添加/移除/排序字段;‘X’ 增加固定宽度。
  • L,&,<,>:定位功能。‘L’/‘&’ 查找/再次查找;‘<’/‘>’ 左右移动排序列。
  • R,H,J,C:切换功能。‘R’ 排序;‘H’ 线程;‘J’ 数字对齐;‘C’ 坐标。
  • c,i,S,j:切换显示内容。‘c’ 命令名称/行;‘i’ 空闲时间;‘S’ 时间;‘j’ 字符串对齐。
  • x,y:突出显示切换。‘x’ 排序字段;‘y’ 运行中的任务。
  • z,b:颜色/显示方式切换。
  • u,U,o,O:过滤功能。按用户或其他标准过滤。
  • n,#,^O:设置功能。设置最大显示任务数;显示其他过滤器。
  • V,v:森林视图切换。
  • k,r:操作任务。‘k’ 杀死进程;‘r’ 重新设置优先级。
  • d or s:设置更新间隔。
  • W,Y,!:写配置文件、检查其他输出、合并CPU显示。
  • q:退出帮助文档。

最后两行提示用户按h?可以获得关于窗口的帮助,按q<Esc>可以继续操作。

常见指令

  1. 启动top命令

    • top:直接输入top,回车后即可启动。
  2. 设置刷新时间

    • top -d 3:设置信息更新周期为3秒。
  3. 指定刷新次数

    • top -n 2:表示更新两次后终止更新显示。
  4. 显示指定进程

    • top -p 139:显示进程号为139的进程信息,包括CPU、内存占用率等。
  5. 批处理模式

    • top -b:以批处理模式显示程序信息。
  6. 累积模式

    • top -S:以累积模式显示程序信息。
  7. 显示完整命令行

    • top -c:此参数可以显示完整的命令行而不仅仅是命令名。
  8. 高亮显示排序列

    • top运行界面内,可以按z键进行高亮显示的切换。
  9. 按CPU或内存排序

    • top运行界面内,按M键可以按内存使用排序,按T键可以按CPU使用排序。
  10. 显示线程信息

  • top -H -p 35648:显示进程ID为35648的进程下的所有线程信息。这个命令特别在定位多线程程序问题时非常有用。
  1. 过滤用户
  • top -u username:只显示指定用户的进程。
  1. 帮助和退出
  • top运行界面内,按h?键可以查看帮助文档,按q键或Ctrl+C可以退出top命令或帮助文档。
文章来源:https://blog.csdn.net/qq_40673786/article/details/135165847
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。