千家信息网

linux怎么在批处理模式下运行top命令

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍linux怎么在批处理模式下运行top命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是 top 命令的批处理模式批处理模式允许你将 top 命令的输出发
千家信息网最后更新 2026年11月02日linux怎么在批处理模式下运行top命令

这篇文章主要介绍linux怎么在批处理模式下运行top命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

什么是 top 命令的批处理模式

批处理模式允许你将 top 命令的输出发送至其他程序或者文件中。

在这个模式中,top 命令将不会接收输入并且持续运行,直到迭代次数达到你用 -n 选项指定的次数为止。

如果你想解决 Linux 服务器上的任何性能问题,你需要正确的 理解 top 命令的输出。

1) 如何在批处理模式下运行 top 命令

默认地,top 命令按照 CPU 的使用率来排序输出结果,所以当你在批处理模式中运行以下命令时,它会执行同样的操作并打印前 35 行:

# top -bc | head -35 top - 06:41:14 up 8 days, 20:24,  1 user,  load average: 0.87, 0.77, 0.81Tasks: 139 total,   1 running, 136 sleeping,   0 stopped,   2 zombie%Cpu(s):  0.0 us,  3.2 sy,  0.0 ni, 96.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 stKiB Mem :  3880940 total,  1595932 free,   886736 used,  1398272 buff/cacheKiB Swap:  1048572 total,   514640 free,   533932 used.  2648472 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     1 root      20   0  191144   2800   1596 S   0.0  0.1   5:43.63 /usr/lib/systemd/systemd --switched-root --system --deserialize 22     2 root      20   0       0      0      0 S   0.0  0.0   0:00.32 [kthreadd]     3 root      20   0       0      0      0 S   0.0  0.0   0:28.10 [ksoftirqd/0]     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kworker/0:0H]     7 root      rt   0       0      0      0 S   0.0  0.0   0:33.96 [migration/0]     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [rcu_bh]     9 root      20   0       0      0      0 S   0.0  0.0  63:05.12 [rcu_sched]    10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [lru-add-drain]    11 root      rt   0       0      0      0 S   0.0  0.0   0:08.79 [watchdog/0]    12 root      rt   0       0      0      0 S   0.0  0.0   0:08.82 [watchdog/1]    13 root      rt   0       0      0      0 S   0.0  0.0   0:44.27 [migration/1]    14 root      20   0       0      0      0 S   0.0  0.0   1:22.45 [ksoftirqd/1]    16 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kworker/1:0H]    18 root      20   0       0      0      0 S   0.0  0.0   0:00.01 [kdevtmpfs]    19 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [netns]    20 root      20   0       0      0      0 S   0.0  0.0   0:01.35 [khungtaskd]    21 root       0 -20       0      0      0 S   0.0  0.0   0:00.02 [writeback]    22 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kintegrityd]    23 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [bioset]    24 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kblockd]    25 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [md]    26 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [edac-poller]    33 root      20   0       0      0      0 S   0.0  0.0   1:19.07 [kswapd0]    34 root      25   5       0      0      0 S   0.0  0.0   0:00.00 [ksmd]    35 root      39  19       0      0      0 S   0.0  0.0   0:12.80 [khugepaged]    36 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [crypto]    44 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kthrotld]    46 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kmpath_rdacd]

2) 如何在批处理模式下运行 top 命令并按内存使用率排序结果

在批处理模式中运行以下命令按内存使用率对结果进行排序:

# top -bc -o +%MEM | head -n 20 top - 06:42:00 up 8 days, 20:25,  1 user,  load average: 0.66, 0.74, 0.80Tasks: 146 total,   1 running, 145 sleeping,   0 stopped,   0 zombie%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 stKiB Mem :  3880940 total,  1422044 free,  1059176 used,  1399720 buff/cacheKiB Swap:  1048572 total,   514640 free,   533932 used.  2475984 avail Mem  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND 18105 mysql     20   0 1453900 156096   8816 S   0.0  4.0   2:12.98 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid  1841 root      20   0  228980 107036   5360 S   0.0  2.8   0:05.56 /usr/local/cpanel/3rdparty/perl/528/bin/perl -T -w /usr/local/cpanel/3rdparty/bin/spamd --max-children=3 --max-spare=1 --allowed-ips=127.0.0.+  4301 root      20   0  230208 104608   1816 S   0.0  2.7   0:03.77 spamd child  8139 nobody    20   0  257000  27108   3408 S   0.0  0.7   0:00.04 /usr/sbin/httpd -k start  7961 nobody    20   0  256988  26912   3160 S   0.0  0.7   0:00.05 /usr/sbin/httpd -k start  8190 nobody    20   0  256976  26812   3140 S   0.0  0.7   0:00.05 /usr/sbin/httpd -k start  8353 nobody    20   0  256976  26812   3144 S   0.0  0.7   0:00.04 /usr/sbin/httpd -k start  8629 nobody    20   0  256856  26736   3108 S   0.0  0.7   0:00.02 /usr/sbin/httpd -k start  8636 nobody    20   0  256856  26712   3100 S   0.0  0.7   0:00.03 /usr/sbin/httpd -k start  8611 nobody    20   0  256844  25764   2228 S   0.0  0.7   0:00.01 /usr/sbin/httpd -k start  8451 nobody    20   0  256844  25760   2220 S   0.0  0.7   0:00.04 /usr/sbin/httpd -k start  8610 nobody    20   0  256844  25748   2224 S   0.0  0.7   0:00.01 /usr/sbin/httpd -k start  8632 nobody    20   0  256844  25744   2216 S   0.0  0.7   0:00.03 /usr/sbin/httpd -k start

上面命令的详细信息:

  • -b:批处理模式选项

  • -c:打印运行中的进程的绝对路径

  • -o:指定进行排序的字段

  • head:输出文件的第一部分

  • -n:打印前 n 行

3) 如何在批处理模式下运行 top 命令并按照指定的用户进程对结果进行排序

如果你想要按照指定用户进程对结果进行排序请运行以下命令:

# top -bc -u mysql | head -n 10 top - 06:44:58 up 8 days, 20:27,  1 user,  load average: 0.99, 0.87, 0.84Tasks: 140 total,   1 running, 137 sleeping,   0 stopped,   2 zombie%Cpu(s): 13.3 us,  3.3 sy,  0.0 ni, 83.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 stKiB Mem :  3880940 total,  1589832 free,   885648 used,  1405460 buff/cacheKiB Swap:  1048572 total,   514640 free,   533932 used.  2649412 avail Mem  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND 18105 mysql     20   0 1453900 156888   8816 S   0.0  4.0   2:16.42 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

4) 如何在批处理模式下运行 top 命令并按照处理时间进行排序

在批处理模式中使用以下 top 命令按照处理时间对结果进行排序。这展示了任务从启动以来已使用的总 CPU 时间。

但是如果你想要检查一个进程在 Linux 上运行了多长时间请看接下来的文章:

  • 检查 Linux 中进程运行时间的五种方法

# top -bc -o TIME+ | head -n 20 top - 06:45:56 up 8 days, 20:28,  1 user,  load average: 0.56, 0.77, 0.81Tasks: 148 total,   1 running, 146 sleeping,   0 stopped,   1 zombie%Cpu(s):  0.0 us,  3.1 sy,  0.0 ni, 96.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 stKiB Mem :  3880940 total,  1378664 free,  1094876 used,  1407400 buff/cacheKiB Swap:  1048572 total,   514640 free,   533932 used.  2440332 avail Mem  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     9 root      20   0       0      0      0 S   0.0  0.0  63:05.70 [rcu_sched]   272 root      20   0       0      0      0 S   0.0  0.0  16:12.13 [xfsaild/vda1]  3882 root      20   0  229832   6212   1220 S   0.0  0.2   9:00.84 /usr/sbin/httpd -k start     1 root      20   0  191144   2800   1596 S   0.0  0.1   5:43.75 /usr/lib/systemd/systemd --switched-root --system --deserialize 22  3761 root      20   0   68784   9820   2048 S   0.0  0.3   5:09.67 tailwatchd  3529 root      20   0  404380   3472   2604 S   0.0  0.1   3:24.98 /usr/sbin/rsyslogd -n  3520 root      20   0  574208    572    164 S   0.0  0.0   3:07.74 /usr/bin/python2 -Es /usr/sbin/tuned -l -P   444 dbus      20   0   58444   1144    612 S   0.0  0.0   2:23.90 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 18105 mysql     20   0 1453900 157152   8816 S   0.0  4.0   2:17.29 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid   249 root       0 -20       0      0      0 S   0.0  0.0   1:28.83 [kworker/0:1H]    14 root      20   0       0      0      0 S   0.0  0.0   1:22.46 [ksoftirqd/1]    33 root      20   0       0      0      0 S   0.0  0.0   1:19.07 [kswapd0]   342 root      20   0   39472   2940   2752 S   0.0  0.1   1:18.17 /usr/lib/systemd/systemd-journald

5) 如何在批处理模式下运行 top 命令并将结果保存到文件中

如果出于解决问题的目的,你想要和别人分享 top 命令的输出,请使用以下命令重定向输出到文件中:

# top -bc | head -35 > top-report.txt # cat top-report.txt top - 06:47:11 up 8 days, 20:30,  1 user,  load average: 0.67, 0.77, 0.81Tasks: 133 total,   4 running, 129 sleeping,   0 stopped,   0 zombie%Cpu(s): 59.4 us, 12.5 sy,  0.0 ni, 28.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 stKiB Mem :  3880940 total,  1596268 free,   843284 used,  1441388 buff/cacheKiB Swap:  1048572 total,   514640 free,   533932 used.  2659084 avail Mem  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND  9686 daygeekc  20   0  406132  62184  43448 R  94.1  1.6   0:00.34 /opt/cpanel/ea-php56/root/usr/bin/php-cgi  9689 nobody    20   0  256588  24428   1184 S   5.9  0.6   0:00.01 /usr/sbin/httpd -k start     1 root      20   0  191144   2800   1596 S   0.0  0.1   5:43.79 /usr/lib/systemd/systemd --switched-root --system --deserialize 22     2 root      20   0       0      0      0 S   0.0  0.0   0:00.32 [kthreadd]     3 root      20   0       0      0      0 S   0.0  0.0   0:28.11 [ksoftirqd/0]     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kworker/0:0H]     7 root      rt   0       0      0      0 S   0.0  0.0   0:33.96 [migration/0]     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [rcu_bh]     9 root      20   0       0      0      0 R   0.0  0.0  63:05.82 [rcu_sched]    10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [lru-add-drain]    11 root      rt   0       0      0      0 S   0.0  0.0   0:08.79 [watchdog/0]    12 root      rt   0       0      0      0 S   0.0  0.0   0:08.82 [watchdog/1]    13 root      rt   0       0      0      0 S   0.0  0.0   0:44.28 [migration/1]    14 root      20   0       0      0      0 S   0.0  0.0   1:22.46 [ksoftirqd/1]    16 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kworker/1:0H]    18 root      20   0       0      0      0 S   0.0  0.0   0:00.01 [kdevtmpfs]    19 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [netns]    20 root      20   0       0      0      0 S   0.0  0.0   0:01.35 [khungtaskd]    21 root       0 -20       0      0      0 S   0.0  0.0   0:00.02 [writeback]    22 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kintegrityd]    23 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [bioset]    24 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kblockd]    25 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [md]    26 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [edac-poller]    33 root      20   0       0      0      0 S   0.0  0.0   1:19.07 [kswapd0]    34 root      25   5       0      0      0 S   0.0  0.0   0:00.00 [ksmd]    35 root      39  19       0      0      0 S   0.0  0.0   0:12.80 [khugepaged]    36 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [crypto]

如何按照指定字段对结果进行排序

在 top 命令的最新版本中, 按下 f 键进入字段管理界面。

要使用新字段进行排序, 请使用 up/down 箭头选择正确的选项,然后再按下 s 键进行排序。最后按 q 键退出此窗口。

Fields Management for window 1:Def, whose current sort field is %CPU    Navigate with Up/Dn, Right selects for move then  or Left commits,    'd' or  toggles display, 's' sets sort.  Use 'q' or  to end! PID     = Process Id             nsUTS   = UTS namespace Inode USER    = Effective User Name    LXC     = LXC container name PR      = Priority               RSan    = RES Anonymous (KiB) NI      = Nice Value             RSfd    = RES File-based (KiB) VIRT    = Virtual Image (KiB)    RSlk    = RES Locked (KiB) RES     = Resident Size (KiB)    RSsh    = RES Shared (KiB) SHR     = Shared Memory (KiB)    CGNAME  = Control Group name S       = Process Status         NU      = Last Used NUMA node %CPU    = CPU Usage %MEM    = Memory Usage (RES) TIME+   = CPU Time, hundredths COMMAND = Command Name/Line PPID    = Parent Process pid UID     = Effective User Id RUID    = Real User Id RUSER   = Real User Name SUID    = Saved User Id SUSER   = Saved User Name GID     = Group Id GROUP   = Group Name PGRP    = Process Group Id TTY     = Controlling Tty TPGID   = Tty Process Grp Id SID     = Session Id nTH     = Number of Threads P       = Last Used Cpu (SMP) TIME    = CPU Time SWAP    = Swapped Size (KiB) CODE    = Code Size (KiB) DATA    = Data+Stack (KiB) nMaj    = Major Page Faults nMin    = Minor Page Faults nDRT    = Dirty Pages Count WCHAN   = Sleeping in Function Flags   = Task Flags CGROUPS = Control Groups SUPGIDS = Supp Groups IDs SUPGRPS = Supp Groups Names TGID    = Thread Group Id OOMa    = OOMEM Adjustment OOMs    = OOMEM Score current ENVIRON = Environment vars vMj     = Major Faults delta vMn     = Minor Faults delta USED    = Res+Swap Size (KiB) nsIPC   = IPC namespace Inode nsMNT   = MNT namespace Inode nsNET   = NET namespace Inode nsPID   = PID namespace Inode nsUSER  = USER namespace Inode

对 top 命令的旧版本,请按 shift+f 或 shift+o 键进入字段管理界面进行排序。

要使用新字段进行排序,请选择相应的排序字段字母, 然后按下回车键排序。

Current Sort Field:  N  for window 1:Def Select sort field via field letter, type any other key to return  a: PID        = Process Id  b: PPID       = Parent Process Pid  c: RUSER      = Real user name  d: UID        = User Id  e: USER       = User Name  f: GROUP      = Group Name  g: TTY        = Controlling Tty  h: PR         = Priority  i: NI         = Nice value  j: P          = Last used cpu (SMP)  k: %CPU       = CPU usage  l: TIME       = CPU Time  m: TIME+      = CPU Time, hundredths* N: %MEM       = Memory usage (RES)  o: VIRT       = Virtual Image (kb)  p: SWAP       = Swapped size (kb)  q: RES        = Resident size (kb)  r: CODE       = Code size (kb)  s: DATA       = Data+Stack size (kb)  t: SHR        = Shared Mem size (kb)  u: nFLT       = Page Fault count  v: nDRT       = Dirty Pages count  w: S          = Process Status  x: COMMAND    = Command name/line  y: WCHAN      = Sleeping in Function  z: Flags      = Task Flags Note1:   If a selected sort field can't be   shown due to screen width or your   field order, the '<' and '>' keys   will be unavailable until a field   within viewable range is chosen. Note2:   Field sorting uses internal values,   not those in column display.  Thus,   the TTY & WCHAN fields will violate   strict ASCII collating sequence.   (shame on you if WCHAN is chosen)

以上是"linux怎么在批处理模式下运行top命令"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

命令 排序 模式 运行 结果 字段 输出 时间 进程 文件 使用率 内存 内容 次数 版本 用户 界面 篇文章 问题 处理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技发展 互联网科技战争 互联网科技未来 与互联网科技公司 互联网科技公司发展 上海挚品互联网科技 礼当家互联网科技 极限挑战互联网科技 互联网汽车科技小镇 阿里巴巴算科技企业还是互联网 互联网科技创新服务 中国航天科技大学国际工业互联网 广州市恰铎互联网科技有限公司 江苏互联网科技小贷 互联网科技包装股 上海万顺科技互联网有限公司招聘 科技互联网专业工作会议发言稿 上海互联网科技园景观 互联网科技创业计划的风险分析 瑞安市蟠桃会互联网科技有限公司 深圳九邦互联网科技有限公司 新华互联网科技学校 互联网科技汛 北京华百购互联网科技有限公司 互联网科技公司营业执照怎么办理 美国互联网科技实力 沐思想互联网科技有限公司 互联网科技包装股份有限公司上市 北京瑞云互联网科技有限公司 每日互联网科技新闻
0