副标题#e#
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.8id,0.0 wa,0.0 hi,0.0 si,0.0 st
KiBMem:3880940 total,1595932 free,886736 used,1398272 buff/cache
KiBSwap:1048572 total,514640 free,533932 used.2648472 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20019114428001596 S 0.00.15:43.63/usr/lib/systemd/systemd--switched-root --system --deserialize 22
2 root 200000 S 0.00.00:00.32[kthreadd]
3 root 200000 S 0.00.00:28.10[ksoftirqd/0]
5 root 0-20000 S 0.00.00:00.00[kworker/0:0H]
7 root rt 0000 S 0.00.00:33.96[migration/0]
8 root 200000 S 0.00.00:00.00[rcu_bh]
9 root 200000 S 0.00.063:05.12[rcu_sched]
10 root 0-20000 S 0.00.00:00.00[lru-add-drain]
11 root rt 0000 S 0.00.00:08.79[watchdog/0]
12 root rt 0000 S 0.00.00:08.82[watchdog/1]
#p#副标题#e#
13 root rt 0000 S 0.00.00:44.27[migration/1]
14 root 200000 S 0.00.01:22.45[ksoftirqd/1]
16 root 0-20000 S 0.00.00:00.00[kworker/1:0H]
18 root 200000 S 0.00.00:00.01[kdevtmpfs]
19 root 0-20000 S 0.00.00:00.00[netns]
20 root 200000 S 0.00.00:01.35[khungtaskd]
21 root 0-20000 S 0.00.00:00.02[writeback]
22 root 0-20000 S 0.00.00:00.00[kintegrityd]
23 root 0-20000 S 0.00.00:00.00[bioset]
24 root 0-20000 S 0.00.00:00.00[kblockd]
25 root 0-20000 S 0.00.00:00.00[md]
26 root 0-20000 S 0.00.00:00.00[edac-poller]
33 root 200000 S 0.00.01:19.07[kswapd0]
34 root 255000 S 0.00.00:00.00[ksmd]
35 root 3919000 S 0.00.00:12.80[khugepaged]
36 root 0-20000 S 0.00.00:00.00[crypto]
44 root 0-20000 S 0.00.00:00.00[kthrotld]
46 root 0-20000 S 0.00.00:00.00[kmpath_rdacd]
2) 如何在批处理模式下运行 top 命令并按内存使用率排序结果
在批处理模式中运行以下命令按内存使用率对结果进行排序:
#p#副标题#e#
#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.0id,0.0 wa,0.0 hi,0.0 si,0.0 st
KiBMem:3880940 total,1422044 free,1059176 used,1399720 buff/cache
KiBSwap:1048572 total,514640 free,533932 used.2475984 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18105 mysql 20014539001560968816 S 0.04.02:12.98/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
1841 root 2002289801070365360 S 0.02.80: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 2002302081046081816 S 0.02.70:03.77 spamd child
8139 nobody 200257000271083408 S 0.00.70:00.04/usr/sbin/httpd -k start
7961 nobody 200256988269123160 S 0.00.70:00.05/usr/sbin/httpd -k start
8190 nobody 200256976268123140 S 0.00.70:00.05/usr/sbin/httpd -k start
8353 nobody 200256976268123144 S 0.00.70:00.04/usr/sbin/httpd -k start
#p#副标题#e#
8629 nobody 200256856267363108 S 0.00.70:00.02/usr/sbin/httpd -k start
8636 nobody 200256856267123100 S 0.00.70:00.03/usr/sbin/httpd -k start
8611 nobody 200256844257642228 S 0.00.70:00.01/usr/sbin/httpd -k start
8451 nobody 200256844257602220 S 0.00.70:00.04/usr/sbin/httpd -k start
8610 nobody 200256844257482224 S 0.00.70:00.01/usr/sbin/httpd -k start
8632 nobody 200256844257442216 S 0.00.70: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.3id,0.0 wa,0.0 hi,0.0 si,0.0 st
KiBMem:3880940 total,1589832 free,885648 used,1405460 buff/cache
KiBSwap:1048572 total,514640 free,533932 used.2649412 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18105 mysql 20014539001568888816 S 0.04.02:16.42/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
4) 如何在批处理模式下运行 top 命令并按照处理时间进行排序
在批处理模式中使用以下 top 命令按照处理时间对结果进行排序。这展示了任务从启动以来已使用的总 CPU 时间。