linux的批处理进程,巧用linux-top的批处理模式

IT技术学习:一种是采用循序渐进的系统式学习;一种是采用“投机取巧”的碎片式学习。我这个人比较赖,也没有那些大牛执着的精神和水平,所以只能和大家分享后者

命令简述

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

a10588e0278f81a67e0ffdc9cfc73bd5.png

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

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

在不考虑使用第三方监控工具的情况下,如何记录(查看)历史数据?如何排除干扰只关注某项值?

比如我需要知道在某段时刻,系统运行了多少个tasks,实时可见,但历史数据已流逝。

数据的排版再处理,也就是数据的二次加工。既然要加工,首先数据有持久化的存储。存储的数据转为输入--然后才能用你需要的逻辑调用处理,处理完成后再次输出。

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

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

-b : runs top in batch mode

批处理模式范例

1、导出一次的TOP输出

top -b -n 1 > top.txt

cat top.txt

你会惊奇的发现top的内容居然可以输出到file

d6781949b5ef9bbd1009ca75ebc4e42b.png

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

top -b -n 5 > top-5iterations.txt

cat top-5iterations.txt | grep Tasks

获取5次快照,然后过滤出tasks任务

16a97a2923ef6cce0dae49e2b523d542.png

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

$ pidof crond #获取pid

$ top -p 536 -b -n3 > cron.txt #输出

$ cat cron.txt

9d853f93b1e02d334cb241c65a8fbb31.png

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

for i in {1..8}; do sleep 2 && top -b -p 536 -n1 | tail -1 ; done >> cron.txt

cat cronta.txt

在实际效果中,为了让大家了解每列的含义,我显示了每列的头部字段名,如下

d3a125f609186a08a892abd416ebc459.png

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

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

7aaa9465031cc4c8a49a08d2724961df.png

本文只是抛砖引玉,具体使用,请大家积极开动脑筋

以上测试系统CENTOS7.2 其它LINUX发型版,请自行测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值