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在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤 数据的采集和获取 数据的清洗,抽取,变形和装载 数据的分析,探索和预测 ...
随机推荐
- AtCoder Grand Contest 012题解
传送门 \(A\) 肯定是后面每两个陪最前面一个最优 typedef long long ll; const int N=5e5+5; int a[N],n;ll res; int main(){ s ...
- 洛谷P3522 TEM-temperature
题目 单调队列+阅读理解 简化题意. 找到一个最长的区间使得区间每个点的r要大于该点之前的点的l. 然后可以用单调队列维护单调递减的l.最后尺取法O(n)枚举所有区间并取最大值. 单调队列可以快速找某 ...
- Mac laravel: command not found
如果用的oh-my-zsh 安装laravel 提示找不到.可以试试下面的 export PATH=$HOME/bin:/usr/local/bin:~/.composer/vendor/bin:$P ...
- pycharm通过pytest运行报错:No test were found 解决
今天写代码犯了一个不应该犯的小错误,通过记录下来便于查看 1.报错代码如下: platform win32 -- Python 3.7.3, pytest-4.0.2, py-1.8.0, plugg ...
- [loj 6496]「雅礼集训 2018 Day1」仙人掌
传送门 Description 给出一张 \(n\)个点 \(m\)条边的无向连通图,其中每条边至多属于一个简单环,保证没有自环,可能有重边.你需要为其中每条边定向,其中第 \(i\)个点的出度不能超 ...
- CF1207题解
D 全排列减去坏序列 坏序列分三种,容斥一下就好了 E 比较有意思 \(A=_{i=1}^{100}\{i\},B=_{i=1}^{100}\{i\cdot 2^7\}\),所以\(A_i~xor~ ...
- LAMP企业架构读写分离
1.1 LAMP企业架构读写分离 LAMP+Discuz+Redis缓解了MYSQL的部分压力,但是如果访问量非常大,Redis缓存中第一次没有缓存数据,会导致MYSQL数据库压力增大,此时可以基于 ...
- css自定义属性和简单效果
简介 CSS Variables,一个并不是那么新的东西,但对css来说绝对是一场革命. 之前使用变量的时候,需要借助sass.less等预处理工具来实现,现在我们可以直接使用css来声明变量. 兼容 ...
- Thingsboard Docker关闭后重启服务创建network出错
因为个人想验证一下thingsboard的数据是否是保存在postgres中,就将postgres容器停止,后想重启则无法重启 我干脆将整个系统删除后重新再来一次,在试的时候发现无法重新创建容器 Cr ...
- Centos7 中查找文件、目录、内容
1.查找文件 find / -name ‘filename’ 2.查找目录 find / -name ‘path’ -type d 3.查找内容 find . | xargs grep -ri ‘co ...