AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    批处理模式下运行 top 命令的方法

    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.81
    Tasks: 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 st
    KiB Mem : 3880940 total, 1595932 free,  886736 used, 1398272 buff/cache
    KiB 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.80
    Tasks: 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 st
    KiB Mem : 3880940 total, 1422044 free, 1059176 used, 1399720 buff/cache
    KiB 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.84
    Tasks: 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 st
    KiB Mem : 3880940 total, 1589832 free,  885648 used, 1405460 buff/cache
    KiB 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.81
    Tasks: 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 st
    KiB Mem : 3880940 total, 1378664 free, 1094876 used, 1407400 buff/cache
    KiB 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.81
    Tasks: 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 st
    KiB Mem : 3880940 total, 1596268 free,  843284 used, 1441388 buff/cache
    KiB 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)

    总结

    以上所述是小编给大家介绍的批处理模式下运行 top 命令的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    上一篇:Centos7下Samba服务器配置(实战)
    下一篇:快速解决CentOS在VMware无法上网的问题
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    批处理模式下运行 top 命令的方法 批处理,模式,下,运行,top,

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)