首页 > 数据库 > 数据库开发技术 > Top命令这一篇足够了
top 是 Linux 系统中的一个强大的实时监控工具,它允许用户实时查看系统的动态状态,包括 CPU 使用率、内存占用情况、以及当前正在运行的进程列表等。top 命令会定期更新这些信息,为用户提供一个动态的、实时的系统监控视图。

top命令截图


top详情面板解释
top - 10:52:47 up 17 days, 18:30, 17 users, load average: 0.35, 0.35, 0.34Tasks: 255 total, 1 running, 254 sleeping, 0 stopped, 0 zombie: 2.1 us, 2.8 sy, 0.0 ni, 95.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem : 7994072 total, 1681732 free, 877748 used, 5434592 buff/cacheKiB Swap: 2096124 total, 1841360 free, 254764 used. 6512760 avail Mem
top: 这是命令本身,表示正在查看系统的实时状态。
10:52:47: 当前系统时间是 10 点 52 分47 秒。
up 17 days, 18:30: 系统已经运行了 17天 18 小时 30 分钟。
17 users: 有 17 个用户当前登录系统。
load average: 0.35, 0.35, 0.34: 这表示系统的平均负载。三个数字分别代表过去 1 分钟、5 分钟和 15 分钟的平均负载。负载是系统中等待运行的任务数量。

Tasks: 255 total, 1 running, 254 sleeping, 0 stopped, 0 zombie
255 total: 系统总共有 255 个进程。
1 running: 一个进程正在运行。
254 sleeping: 有 254 个进程在休眠状态。
0 stopped: 没有进程被停止。
0 zombie: 没有僵尸进程。僵尸进程是已完成但其父进程还未收回其资源的进程。

%Cpu(s): 2.1 us, 2.8 sy, 0.0 ni, 95.2 id, 0.0 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 时间百分比。

KiB Mem : 7994072 total, 1681732 free, 877748 used, 5434592 buff/cache
这描述了系统的内存使用情况。
7994072 total: 总内存为 7994072MiB。
1681732 free: 空闲的内存为 1681732 MiB。
877748 used: 被使用的内存为 877748 MiB。
5434592 buff/cache: 被缓冲和缓存的内存为 5434592 MiB。这部分内存是为了提高文件访问速度而被系统用作缓存的内存。

MiB Swap: 0.0 total, 0.0 free, 0.0 used. 600.6 avail Mem(如果启用,一般关闭)
交换空间是当物理内存(RAM)不足时,系统用来扩展可用内存的一种方式,它利用硬盘的一部分空间来模拟额外的内存。然而,在您的系统配置中,显示交换空间总量为0 MiB,这意味着您的系统当前没有设置专门的交换分区或交换文件。
在现代操作系统中,这种配置是常见的,并且通常是出于优化的考虑。现代系统更多地依赖于先进的虚拟内存管理技术(如页表和分页机制),这些技术能够动态地管理内存和硬盘之间的空间分配,从而有效地在不需要显式交换空间的情况下管理内存使用。这种管理方式通常能提供更高效、更灵活的资源利用,并减少了对交换空间的依赖。600.6 avail Mem: 可用的物理内存是 600.6 MiB(包括缓冲和缓存)。这部分内存可用于满足新的内存需求,而不必使用交换空间。

top数据列解释
PID(进程ID):这是一个独特的编号,用于唯一标识系统中的每一个进程。USER(用户):这个字段显示了启动该进程的用户名。PR(优先级):它反映了进程在系统调度中的优先级顺序。NI(nice值):nice值是一个整数,允许用户调整进程的调度优先级。其默认值为0,范围在-20(最高优先级)到19(最低优先级)之间。VIRT(虚拟内存):表示进程使用的总虚拟内存量,单位以KB计算。RES(常驻内存):这个值显示了进程当前实际占用并驻留在物理内存中的大小,单位也是KB。SHR(共享内存):表示进程与其他进程共享的内存量,单位同样是KB。S(状态):描述了进程当前的状态。常见的状态有“R”(运行中)、“S”(休眠中)和“Z”(僵尸进程)等。CPU:这个值反映了进程当前占用的CPU使用百分比。MEM:表示进程占用的物理内存百分比。**TIME+**:这是进程自启动以来累计运行的总时间,通常以“分钟:秒”的格式表示。COMMAND:这一列显示了启动该进程的命令名称或完整的命令行。top -hv

top -hv

-h:此选项用于获取 top 命令的帮助信息,它会列出所有可用的命令和选项的详细说明。-v:显示 top 命令的版本信息,以便用户了解当前使用的 top 版本。-b:在批处理模式下运行 top,这通常用于将 top 的输出重定向到文件或另一个命令中,而不是直接显示在终端上。-c:在显示进程列表时,包含每个进程的完整命令行。这有助于用户了解每个进程正在执行的具体命令。-E:除了显示进程信息外,还显示与每个进程相关的环境变量。这通常用于调试或诊断目的。-e:在 top 的输出中显示当前的时间和日期。-H:以线程为单位显示进程信息,而不仅仅是进程本身。这有助于在多线程应用程序中查看每个线程的详细情况。-i:在 top 的输出中包括空闲和低优先级的进程。默认情况下,这些进程可能会被隐藏。-O:允许用户指定一个或多个字段,按照这些字段对进程列表进行排序。-s:安全模式,不显示系统进程(如内核线程)。这有助于用户只关注用户空间进程。-1:限制 top 仅显示一个进程的信息。这通常与 -p 选项结合使用,以查看特定进程的详细信息。-d secs:设置 top 命令的刷新间隔为 secs 秒。这决定了 top 多久更新一次显示的进程信息。-n max:指定 top 命令运行的最大次数。在达到指定的刷新次数后,top 将退出。-u|U user:只显示属于特定用户 user 的进程。这有助于用户只关注与自己相关的进程。-p pid(s):只显示具有指定进程 ID pid(s) 的进程信息。这允许用户专注于特定的进程或进程组。-o field:按照指定的字段 field 对进程列表进行排序。用户可以根据需要选择排序字段,如 CPU 使用率、内存使用等。-w [cols]:设置 top 命令输出窗口的宽度为 cols 列。这有助于在较窄或较宽的终端窗口中调整 top 的显示格式

top交互式命令
输入top命令后可以再输入其他字符进行界面交互
解释1 以不同的方式显示进程列表查看更多或更少的进程q 退出top或交互式文档h 打开交互模式帮助文档
## top交互模式帮助文档Help for Interactive Commands - procps-ng 3.3.17Window 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 scalel,t,m,I Toggle: 'l' load avg; 't' task/cpu; 'm' memory; 'I' Irix mode0,1,2,3,4 Toggle: '0' zeros; '1/2/3' cpu/numa views; '4' cpus two abreastf,F,X Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-widthL,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/rightR,H,J,C . Toggle: 'R' Sort; 'H' Threads; 'J' Num justify; 'C' Coordinatesc,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justifyx,y . Toggle highlights: 'x' sort field; 'y' running tasksz,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 criterian,#,^O . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)V,v . Toggle: 'V' forest view; 'v' hide/show forest view childrenk,r Manipulate tasks: 'k' kill; 'r' reniced or s Set update intervalW,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>可以继续操作。

常见指令
启动top命令:直接键入 top 并回车,即可启动实时监控系统进程和性能的工具。
设置刷新时间:
如果您想每隔一定时间更新一次 top 的显示内容,可以使用 -d 选项并指定刷新间隔(以秒为单位)。例如,top -d 3 会使 top 每3秒更新一次。
指定刷新次数:
如果您想限制 top 的更新次数,可以使用 -n 选项并指定更新次数。例如,top -n 2 会使 top 只更新两次后自动退出。
显示指定进程:
如果您只对某个特定进程感兴趣,可以使用 -p 选项并指定进程ID。例如,top -p 139 会只显示进程ID为139的进程的详细信息。
批处理模式:
如果您想将 top 的输出重定向到文件或另一个命令中,可以使用 -b 选项启动批处理模式。在此模式下,top 的输出不会被清空,而是持续追加到输出流中。
累积模式:
累积模式允许您查看CPU时间累积信息,而不仅仅是实时状态。通过 -S 选项,top 将以累积模式显示信息。
显示完整命令行:
默认情况下,top 可能只显示命令名称而不显示完整命令行。使用 -c 选项可以确保 top 显示完整的命令行。
高亮显示排序列:
在 top 运行过程中,您可以按 z 键来切换排序列的高亮显示,以便更容易识别当前排序依据。
按CPU或内存排序:
在 top 的交互式界面中,您可以按 P 键(大写P)按CPU使用率排序,或按 M 键按内存使用量排序。注意,这里提到的 T 键通常用于显示线程信息,而不是按CPU排序。
显示线程信息:
如果您想查看某个进程的线程信息,可以结合使用 -H 和 -p 选项。例如,top -H -p 35648 会显示进程ID为35648的进程下的所有线程信息。
过滤用户:
如果您只想查看某个用户的进程,可以使用 -u 选项并指定用户名。例如,top -u username 会只显示指定用户的进程。
帮助和退出:
在 top 的交互式界面中,按 h 或 ? 键可以显示帮助文档,其中包含了所有可用的命令和选项的说明。要退出 top,可以按 q 键或使用 Ctrl+C 快捷键。
期待你的
分享
点赞
在看

添加博主
微信号|yfq940-
原文作者:步步运维步步坑;如有侵权,请联系管理员删除。