手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux top命令批处理模式讲解

[日期:2018-03-07] 来源:Linux社区  作者:z00w00 [字体: ]

命令简述
top命令-是UNIN&&Linux系统自带的系统管理工具。可以实时显示系统性能(负载、进程、运行时间)等多个指标。流行的网络教程是以交互式(实时)方式进行教学 ,实际上top还自带的强大的batch mode,来帮助你事半功倍。通常在交互式(实时)模式,只需要在shell下直接运行top即可,如下

交互式实模式与批处理模式

实时模式好处是可以实时的观察系统状态,但是缺点也是明显

  • 在不考虑使用第三方监控工具的情况下,如何记录(查看)历史数据?如何排除干扰只关注某项值?
    比如我需要知道在某段时刻,系统运行了多少个tasks,实时可见,但历史数据已流逝。
  • 数据的排版再处理,也就是数据的二次加工。既然要加工,首先数据有持久化的存储。存储的数据转为输入--然后才能用你需要的逻辑调用处理,处理完成后再次输出。

这些可以通过批处理模式来处理。

top-批处理模式在-SHELL下通过选项b来控制

-b : runs top in batch mode

批处理模式范例

1、导出一次的TOP输出

top -b -n 1 > top.txt
cat top.txt你会惊奇的发现top的内容居然可以输出到file

巧用linux-top的批处理模式

2、-n参数连续获取快照

top -b -n 5 > top-5iterations.txt
cat top-5iterations.txt | grep Tasks获取5次快照,然后过滤出tasks任务

3、crond(计划任务进程)进程的输出

$ pidof crond #获取pid
$ top -p 536 -b -n3 > cron.txt #输出
$ cat cron.txt

4、每2秒,共8次获取进程使用情况

for i in {1..8}; do sleep 2 && top -b -p 536 -n1 | tail -1 ; done >> cron.txt
cat cronta.txt在实际效果中,为了让大家了解每列的含义,我显示了每列的头部字段名,如下

5、当前系统进程CPU使用情况排序

top -b -o +%CPU | head -n 22 #排列最占用CPU的进程

本文只是抛砖引玉,具体使用请大家积极开动脑筋,以上测试系统CentOS 7.2 其它LLinux发型版请自行测试。

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-03/151242.htm

linux
相关资讯       Linux top命令 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款