高效轻松,Linux批处理模式下系统监控利器

胖静君_2921

胖静君_2921

2024-02-13

1094人浏览

转载

在linux系统中,我们经常需要对系统资源进行监控和调整,以确保系统的正常运行和高效使用。而使用top命令是一种最常见的系统监控方法之一,但是在实际操作中,top命令的交互式界面并不方便,尤其是在系统运行负载较高的情况下,top命令的实时刷新会带来额外的系统负担。本文将介绍一种更加高效轻松的linux批处理模式下的系统监控利器——batch mode下的top命令。

top 命令用于显示 Linux 系统中的实时处理活动,以及内核管理的任务。它将显示 CPU 和内存使用情况及其他信息,例如正在运行的程序。可以利用脚本模式的选项将top命令输出传输到其他应用程序或文件。

使用 Top 命令脚本模式的方法

在 Centos8 中,我们执行本文中的命令。下面命令按照 CPU 使用率对数据进行排序,并打印命令中指定的前 20 行。

[root@localhost ~]# top -bc -n 1 | head -20
top - 22:23:02 up 6 days, 12:36,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 186 total,   2 running, 184 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
MiB Mem :   1792.0 total,    886.5 free,    277.0 used,    628.4 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1333.1 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      1 root      20   0  176848  10824   8116 S   0.0   0.6   0:04.50 /usr/lib/systemd/s
ystemd --switch+
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 [kthreadd]
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 [rcu_gp]
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 [rcu_par_gp]
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 [kworker/0:0H-kblockd]
      9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 [mm_percpu_wq]
     10 root      20   0       0      0      0 S   0.0   0.0   0:00.70 [ksoftirqd/0]
     11 root      20   0       0      0      0 I   0.0   0.0   0:02.64 [rcu_sched]
     12 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 [migration/0]
     13 root      rt   0       0      0      0 S   0.0   0.0   0:00.45 [watchdog/0]
     14 root      20   0       0      0      0 S   0.0   0.0   0:00.00 [cpuhp/0]
     16 root      20   0       0      0      0 S   0.0   0.0   0:00.00 [kdevtmpfs]
     17 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 [netns]

高效轻松,Linux批处理模式下系统监控利器
如果要按照内存使用顺序排序,需要使用下面命令:

[root@localhost ~]# top -bc -o +%MEM -n 1 | head -n 20
top - 22:26:01 up 6 days, 12:39,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 187 total,   1 running, 186 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.9 us,  5.9 sy,  0.0 ni, 88.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1792.0 total,    834.6 free,    329.0 used,    628.4 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1281.2 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  22531 root      20   0  615344  75672  25780 S   0.0   4.1   0:00.80 node /usr/
local/bin/evilscan 192.+
    968 root      20   0  413544  35488  34188 S   0.0   1.9   0:02.32 /usr/libexec/sss
d/sssd_nss --uid +
    971 root      20   0  462996  34880  14700 S   0.0   1.9   0:00.65 /usr/libexec/plat
form-python -s /+
    997 root      20   0  612412436  28888  14600 S   0.0   1.6   0:35.22 /usr/libexec/platfo
rm-python -Es +
    948 polkitd   20   0 1772752  23756  16596 S   0.0   1.3   0:00.30 /usr/lib/polkit-1/p
olkitd --no-de+
    980 root      20   0  753768  18484  15908 S   0.0   1.0   0:05.09 /usr/sbin/NetworkMan
ager --no-dae+
    813 root      20   0  118756  14588  13040 S   0.0   0.8   0:04.79 /usr/lib/systemd/sys
temd-journald
    966 root      20   0  402088  12008   9900 S   0.0   0.7   0:01.93 /usr/libexec/sssd/ss
sd_be --domai+
    950 root      20   0  395652  11736  10132 S   0.0   0.6   0:00.34 /usr/sbin/sssd -i 
--logger=files
      1 root      20   0  176848  10824   8116 S   0.0   0.6   0:04.50 /usr/lib/systemd/s
ystemd --switch+
   6620 root      20   0  152796  10216   8992 S   0.0   0.6   0:00.01 sshd: root [priv]
    840 root      20   0  115684   9876   7312 S   0.0   0.5   0:00.47 /usr/lib/systemd
/systemd-udevd
   6623 root      20   0   93708   9500   8112 S   0.0   0.5   0:00.04 /usr/lib/systemd/
systemd --user

高效轻松,Linux批处理模式下系统监控利器
上面命令中关于top命令使用的选项解释如下:

  • -b: 运行脚本模式
  • -c: 显示COMMAND列中命令的完整路径
  • -n: 指定top在结束之前应该产生的最大迭代数。
  • -o: 定义了按照哪个字段排序。

在批处理模式下,使用 top 命令根据进程的使用的时间排列数据。它显示进程自启动以来消耗的 CPU 时间总量。使用如下命令查看:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
[root@localhost ~]# top -bc -o TIME+ -n 1 | head -n 20
top - 22:31:20 up 6 days, 12:44,  2 users,  load average: 0.00, 0.04, 0.01
Tasks: 187 total,   1 running, 186 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
MiB Mem :   1792.0 total,    843.4 free,    320.1 used,    628.4 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1290.0 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    997 root      20   0  612412436  28888  14600 S   0.0   1.6   0:35.24 /usr/libexec
/platform-python -Es +
    946 root      20   0  160120   6460   5656 S   0.0   0.4   0:06.08 /sbin/rngd -f
    980 root      20   0  753768  18484  15908 S   0.0   1.0   0:05.10 /usr/sbin/Netw
orkManager --no-dae+
    813 root      20   0  118756  14588  13040 S   0.0   0.8   0:04.79 /usr/lib/systemd
/systemd-journald
      1 root      20   0  176848  10824   8116 S   0.0   0.6   0:04.50 /usr/lib/systemd
/systemd --switch+
    727 root      20   0       0      0      0 S   0.0   0.0   0:02.77 [xfsaild/dm-0]
     11 root      20   0       0      0      0 I   0.0   0.0   0:02.65 [rcu_sched]
    968 root      20   0  413544  35488  34188 S   0.0   1.9   0:02.32 /usr/libexec/sss
d/sssd_nss --uid +
    966 root      20   0  402088  12008   9900 S   0.0   0.7   0:01.93 /usr/libexec/ss
sd/sssd_be --domai+
    954 chrony    20   0   29444   2652   2400 S   0.0   0.1   0:01.16 /usr/sbin/chronyd
    945 dbus      20   0   74704   5896   5096 S   0.0   0.3   0:01.15 /usr/bin/dbus-daemon --system --a+
     24 root      39  19       0      0      0 S   0.0   0.0   0:01.13 [khugepaged]
     10 root      20   0       0      0      0 S   0.0   0.0   0:00.79 [ksoftirqd/0]

高效轻松,Linux批处理模式下系统监控利器
下面可以将top的输出结果保存到文件中:

[root@localhost ~]# top -bc | head -30 > top-information.txt
高效轻松,Linux批处理模式下系统监控利器

总结

top 命令用于显示 Linux 系统中的实时处理活动,以及内核管理的任务。它将显示 CPU 和内存使用情况及其他信息,例如正在运行的程序。可以利用脚本模式的选项将top命令输出传输到其他应用程序或文件。

通过本文的介绍,我们可以看到在Linux系统中使用batch mode下的top命令可以更加高效地进行系统资源监控,并且避免了交互式界面带来的负担。我们可以通过设置top命令的-b参数来切换至batch mode模式,同时还可以通过其他参数来自定义输出结果、设置刷新间隔等。相信通过这种方式,我们可以更加轻松、高效地进行系统监控和调整,提高系统的运行效率。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4330

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3653

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2913

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7190

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6822

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3893

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3385

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3639

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习