你会这 15 个Linux top 命令吗?

举报
Tiamo_T 发表于 2022/01/19 14:12:55 2022/01/19
【摘要】 在本文中,让我们了解 15 个Linux top 命令示例,它们对新手和高手都有帮助。

在本文中,让我们了解 15 个Linux top 命令示例,它们对新手和高手都有帮助。

1. 显示按任何顶部输出列排序的进程 - 按 O

默认情况下,top 命令按 CPU 使用率的顺序显示进程。当 top 命令运行时,按 M(大写)显示按内存使用情况排序的进程,如下所示。
顶部命令按内存使用排序

:按 M 按内存使用排序 - Unix top 命令

要按任何列排序顶部输出,请按 O(大写 O),这将显示您可以排序的所有可能列,如下所示。

Current Sort Field:  P  for window 1:Def
Select sort field via field letter, type any other key to return 

  a: PID        = Process Id              v: nDRT       = Dirty Pages count
  d: UID        = User Id                 y: WCHAN      = Sleeping in Function
  e: USER       = User Name               z: Flags      = Task Flags
  ........

当 linux top 命令运行时,按 R,它以相反的顺序进行排序。

2. 在不退出顶部的情况下终止任务 - 按 k

一旦你找到了一个需要被杀死的进程,按下“k”,它会询问进程 ID,并发送信号。如果您有权杀死该特定 PID,它将被成功杀死。


PID to kill: 1309
Kill PID 1309 with signal [15]: 
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
 5136 root    16   0 38040  14m 9836 S    0  0.2   0:00.39 nautilus

3. 修改 Unix 进程而不从顶部退出 - 按 r

如果您只想更改进程的优先级(而不是终止进程),请按 r 。这将询问 PID 的 renice,输入 PID 和优先级。

PID to renice: 1309
Renice PID 1309 to value: 
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent

4. 使用 top -u 在顶部输出中显示选定的用户

使用 top -u 仅在 top 命令输出中显示特定用户进程。

$ top -u tiamo

在运行 unix top 命令时,按 u 将询问用户名,如下所示。

Which user (blank for all): geek
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent

使用 top -p 仅显示具有给定 PID 的特定进程

如下所示使用 top -p 来显示特定的 PID。

$ top -p 1309, 1882
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent

5. 在顶部输出中显示所有 CPU/内核 – 按 1(一)

默认情况下,顶部输出显示所有 CPU 组合在一起的 CPU 行,如下所示。

top - 20:10:39 up 40 days, 23:02,  1 user,  load average: 4.97, 2.01, 1.25
Tasks: 310 total,   1 running, 309 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.5%us,  0.7%sy,  0.0%ni, 92.3%id,  6.4%wa,  0.0%hi,  0.0%si,  0.0%st

当 top 命令运行时,按 1(一),这将分解 CPU 并显示系统上运行的所有单个 CPU 的详细信息,如下所示。

top - 20:10:07 up 40 days, 23:03,  1 user,  load average: 5.32, 2.38, 1.39
Tasks: 341 total,   3 running, 337 sleeping,   0 stopped,   1 zombie
Cpu0  :  7.7%us,  1.7%sy,  0.0%ni, 79.5%id, 11.1%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.3%us,  0.0%sy,  0.0%ni, 94.9%id,  4.7%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2 :  3.3%us,  0.7%sy,  0.0%ni, 55.7%id, 40.3%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3 :  5.0%us,  1.0%sy,  0.0%ni, 86.2%id,  7.4%wa,  0.0%hi,  0.3%si,  0.0%st
Cpu4  : 38.5%us,  5.4%sy,  0.3%ni,  0.0%id, 54.8%wa,  0.0%hi,  1.0%si,  0.0%st
Cpu5  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  :  0.3%us,  0.7%sy,  0.0%ni, 97.3%id,  1.7%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  5.4%us,  4.4%sy,  0.0%ni, 82.6%id,  7.7%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu8 :  1.7%us,  1.7%sy,  0.0%ni, 72.8%id, 23.8%wa,  0.0%hi,  0.0%si,  0.0%st

6. 按需刷新 Unix 顶级命令输出(或)更改刷新间隔

默认情况下,linux top 命令每 3.0 秒更新一次输出。当您想按需更新输出时,请按空格键。

要更改输出更新频率,请在交互模式下按 d,然后以秒为单位输入时间,如下所示。

Change delay from 3.0 to: 10
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent

7. 在 Linux 顶部命令输出中突出显示正在运行的进程 - 按 z 或 b

按 z 或 b,这将突出显示所有正在运行的进程,如下所示。

:Ubuntu Linux – top 命令突出显示运行过程

8. 显示命令及其参数的绝对路径 – 按 c

按 c 将显示/隐藏命令绝对路径和参数,如下所示。

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 /usr/sbin/gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 /usr/sbin/gagent -l 0 -u pre

9. 使用 top -n 在指定次数的迭代后退出 Top 命令

直到你按下 q,top 会持续显示输出。如果您只想查看某个迭代并希望顶部自动退出,请使用 -n 选项,如下所示。

以下示例将显示 2 次迭代 unix top 命令输出并自动退出

$ top -n 2

10. 以批处理方式执行 Unix Top 命令

如果要在批处理模式下执行 top 命令,请使用选项 -b,如下所示。

$ top -b -n 1

注意:当您想要将 unix top 命令输出捕获到我们之前讨论的可读文本文件时,此选项非常有用。

11. 将顶部输出拆分为多个面板 - 按 A

要在终端上显示 top 命令输出的多个视图,请按 A。您可以使用“a”循环浏览这些窗口。当您可以使用不同的顶部输出列对多个窗口上的输出进行排序时,这非常有用。

12. 从命令行和交互式获取顶级命令帮助

使用 top -h 获取快速命令行选项帮助,如下所示。

$ top -h
        top: procps version 3.2.0
usage:  top -hv | -bcisS -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

在 top 命令运行时按 h,这将显示交互式 top 命令的帮助。

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

  Z,B       Global: 'Z' change color mappings; 'B' disable/enable bold
  l,t,m     Toggle Summaries: 'l' load avg; 't' task/cpu stats; 'm' mem info
  1,I       Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode
  ..........

13. 减少顶部输出中显示的进程数 - 按 n

在交互模式下按 n,它会提示输入一个数字并仅显示该数字。以下示例将一次仅显示 2 个进程。

Maximum tasks = 0, change to (0 is unlimited): 2
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent

14. 切换顶部标题以增加显示的进程数

默认情况下,top 根据窗口高度显示进程总数。如果您想查看其他过程,您可能希望消除一些顶部标题信息。

以下是 top 提供的默认标头信息。

top - 23:47:32 up 179 days,  3:36,  1 user,  load average: 0.01, 0.03, 0.00
Tasks:  67 total,   1 running,  66 sleeping,   0 stopped,   0 zombie
Cpu(s):   0.7% user,   1.2% system,   0.0% nice,  98.0% idle
Mem:   1017136k total,   954652k used,    62484k free,   138280k buffers
Swap:  3068404k total,    22352k used,  3046052k free,   586576k cached
  • 按 l – 隐藏/显示平均负载。第一个标题行。
  • 按 t – 隐藏/显示 CPU 状态。第 2 和第 3 标题行。
  • 按 m – 隐藏/显示内存信息。第 4 行和第 5 行。

15. 保存顶部配置设置 - 按 W

如果您已在上述示例中进行了任何交互式 top 命令配置,您可能希望将其保存以供将来所有 top 命令输出使用。一旦你保存了 top 配置,下次调用 top 命令时,所有保存的 top 配置选项都将被自动使用。

要保存顶层配置,请按 W,这会将配置文件写入 ~/.toprc。这将显示写入确认消息,如下所示。

top - 23:47:32 up 179 days,  3:36,  1 user,  load average: 0.01, 0.03, 0.00
Tasks:  67 total,   1 running,  66 sleeping,   0 stopped,   0 zombie
Cpu(s):   0.7% user,   1.2% system,   0.0% nice,  98.0% idle
Mem:   1017136k total,   954652k used,    62484k free,   138280k buffers
Swap:  3068404k total,    22352k used,  3046052k free,   586576k cached
Wrote configuration to '/home/ramesh/.toprc'
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。