linux抓取top命令中数据的方法
top在linux中是一个非常直观的命令,可以清晰地看到各进程对资源的使用情况。
但是如果你想从top命令展示中提取某些数据出来,如果想当然地使用这句命令:
top|grep xxx
就会被卡住,欲哭无泪。
我们不妨查一下top这个命令,看看是否有其他办法来把数据抓出来。
首先简单了解一下top这个命令。
top是linux的一个性能分析工具,类似于windows的任务管理器。其最大特点有两个:动态、直观地显示进程占用资源情况。
执行top的时候,会在前台默认打开一个terminal,可使用q来退出。
例如:

上面的图中,有很多有用的信息:
1. 可以看到uptime、1min 5min 15min的负载
2. 可以看到总任务数、在跑任务数、停止任务数、僵尸任务数
3. 可以看到user数
4. 可以看到总的cpu负载情况
5. 可以看到总的内存和swap使用情况,以kb为单位
6. 各个进程使用系统资源的情况
上面的各列分别指:
PID: 进程号
USER: 启动进程的用户
PR: 优先级
NI: 谦让级
VIRT: 虚拟内存占用
RES: 进程使用的、未被换出的物理内存大小
SHR: 共享内存大小,单位kb
S: 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
%CPU: 上次更新到现在的CPU时间占用百分比
%Mem: 物理内存占用百分比
TIME+: 进程启动时间
COMMAND: 命令名
而这个命令也有一些参数,具体可以看下边:
-b: 批处理
-c: 显示完整的命令
-l:忽略失效进程
-s: 保密模式
-n 数字: 显示次数,后加
-u 用户名: 显示某用户下的进程情况
-p 进程号: 指定进程
top还有一些交互命令,在前置页面使用,十分方便:
h: 显示帮助菜单
k: 杀死一个进程
i: 忽略僵尸进程
P: 按照CPU占用进行排序
M: 按照内存占用进行排序
T: 根据时间/累计时间进行排序
W: 将结果保存到~/.toprc文件
好了,介绍了一圈之后,到了本文的重点了。如果我要抓出mysql进程,查看其性能情况并取数,可使用以下两种方法:
top -u mysql -n 1|grep mysqld|awk '{print $9}' #取CPU占用数据
top -u mysql -n 1|grep mysqld|awk '{print $10}' #取内存占用数据
或者:
top -b -n 1|grep mysql|awk '{print $9}' #取CPU占用数据
top -b -n 1|grep mysql|awk '{print $10}' #取内存占用数据
而抓取数据只是前置步骤,后续可以使用此数据进行各种后续操作。
linux抓取top命令中数据的方法的更多相关文章
- Linux 抓取网站命令
wget -m -e robots=off -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/200 ...
- Linux top命令中CPU信息的详解(转)
add by zhj: 下面的文章解释的很好了,这里再说明一下top命令中wa的含义,我们知道,当IO阻塞时,操作系统会把进程改为阻塞态,将CPU调度到运行其它进程. CPU在空闲状态下,会检查是否有 ...
- linux top命令中各cpu占用率含义
linux top命令中各cpu占用率含义 [尊重原创文章摘自:http://www.iteye.com/topic/1137848]0.3% us 用户空间占用CPU百分比 1.0% sy 内核空间 ...
- (转)linux top命令中各cpu占用率含义及案例分析
原文:https://blog.csdn.net/ydyang1126/article/details/72820349 linux top命令中各cpu占用率含义 0 性能监控介绍 1 确定应用类型 ...
- 性能测试 | Linux系统top命令中的io使用率,很多人都误解了它的具体含义
body{ text-align:left; width:80%; margin:10px 100px; } 最近在做连续数据流的缓冲系统,C语言代码实现后,粗略测试了下,功能上应该没有问题.那么,接 ...
- Linux ps与top命令
Linux ps与top命令 这两个命令都是查看系统进程信息的命令,但是用处有点儿不同 1.ps命令--提供系统过去信息的一次性快照 也就是说ps命令能够查看刚刚系统的进程信息 命令:ps aux或 ...
- Python 3.6 抓取微博m站数据
Python 3.6 抓取微博m站数据 2019.05.01 更新内容 containerid 可以通过 "107603" + user_id 组装得到,无需请求个人信息获取: 优 ...
- python爬虫成长之路(一):抓取证券之星的股票数据
获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为python3.5,意在抓取证券之星上当天所 ...
- 使用 Python 抓取欧洲足球联赛数据
Web Scraping在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤 数据的采集和获取 数据的清洗,抽取,变形和装载 数据的分析,探索和预测 ...
随机推荐
- 15、Work原理及源码分析
一.Work原理 1.图解 Worker启动Driver的一个基本原理,就是Worker内部会启动一个线程,这个线程可以理解为,就是DriverRunner,然后DriverRunner就会去负责启动 ...
- 14、master原理与源码分析
一.主备切换机制原理剖析 1.图解 2.部分源码 ###master.scala中的completeRecovery方法: /* * 完成Master的主备切换 */ def completeReco ...
- 【Vue.js游戏机实战】- Vue.js实现大转盘抽奖总结
大家好!先上图看看本次案例的整体效果. 实现思路: Vue component实现大转盘组件,可以嵌套到任意要使用的页面. css3 transform控制大转盘抽奖过程的动画效果. 抽奖组件内使用钩 ...
- css,js 学习记录
记录一些自己曾经阅读,值得收藏的网址 --(css3新特性) https://segmentfault.com/a/1190000010780991#articleHeader41 --CSS3 3D ...
- pipres生成当前项目所有的依赖文件
对于使用虚拟环境的Python程序,直接pip freeze即可.但是对于没有使用虚拟环境,再使用pip freeze就不行了,因为它会把系统所有的包都导出. 所以使用第三方库pipreqs 安装 p ...
- JVM内存空间划分与作用
虚拟机栈:Stack Fame 栈桢 程序计数器(Program Counter): 本地方法栈:主要用于处理本地方法 堆(Heap): JVM管理的最大一块内存空间 方法区(Method Area) ...
- linux下/etc/profile、/etc/bashrc、~/.bashrc 和~/.bash_profile文件的区别
这个一定要理解登录式shell和非登录式shell的区别,前者是完全切换用户,后者是不完全,就算切换过来了,你pwd时家目录还是之前的家目录,所以 登录式顺序为:/etc/bashrc---/etc/ ...
- JS正则表达式使用
<script type="text/javascript"> function SubmitCk() { var reg = /^([a-zA-Z0-9]+[_|\_ ...
- mongodb批量update更新数据
需要先查找出相关的记录,然后循环处理更新数据.如下案例,更新所有status=1的数据的gender值为2 db.getCollection('test').find({"status&qu ...
- shell编程系列26--大型脚本工具开发实战
shell编程系列26--大型脚本工具开发实战 大型脚本工具开发实战 拆分脚本功能,抽象函数 .function get_all_group 返回进程组列表字符串 .function get_all_ ...