python 按照cpu的使用率对top中的进程排序(排序表格)
问题:解决如何在python中对表格(二维)进行排序?例如,按照cpu或mem的使用率对top中的进程排序
解决方法:
1. 使用numpy或者panda中的方法对二维矩阵进行操作
2. 使用二维数组(list)存储表格,然后按照某一列排序
下面实现方法二
假设top信息存在于与脚本同目录的txt文件中。具体信息如下:
step1:将文本内容读入list存放
#!/usr/bin/env python3
# -*- coding: utf-8 -*-lines = []
#read txt file line by line and stored in list
with open('top_info.txt', 'r') as f:lines = f.readlines()print(len(lines))print("initialize arrays:")
lines_len = len(lines) - 7 #info need to process
cols_name = [i for i in lines[6].split()]
arrays = [[0 for i in lines[6].split()] for i in range(lines_len)] #initialize matrixprint(cols_name)
print(len(arrays))
print(*arrays, sep='\n') #print element in multi lines
运行结果:
step2 : 将要处理的几行信息单独存储
#gets into needs to process
for i in range(7, len(lines)):arrays[i-7] = lines[i].split()print(arrays[0])
print(arrays[1])
print(arrays[2])
运行结果:
step3 : 按照cpu和mem的使用率排序,降序
关键代码:
from operator import itemgetterprint("sort info:")
#cpu_row = [row[8] for row in arrays]
arrays_sorted_by_cpu = sorted(arrays, key=itemgetter(8), reverse = True)
print(*arrays_sorted_by_cpu, sep='\n')
运行结果:
完整代码:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from operator import itemgetterlines = []
#read txt file line by line and stored in list
with open('top_info.txt', 'r') as f:lines = f.readlines()print("the top info in doc is: \n")
print(*lines, sep='\n')lines_len = len(lines) - 7 #info need to process
arrays = [[0 for i in lines[6].split()] for i in range(lines_len)]#gets into needs to process
for i in range(7, len(lines)):arrays[i-7] = lines[i].split()print("sort info:")
arrays_sorted_by_cpu = sorted(arrays, key=itemgetter(8), reverse = True)
print(*arrays_sorted_by_cpu, sep='\n')
运行结果:
推荐阅读:
知乎:python二维数组按照某一列进行筛选统计?
http://stackoverflow.com/questions/32400639/python-readline
http://stackoverflow.com/questions/5212870/sorting-a-python-list-by-two-criteria
http://stackoverflow.com/questions/4233476/sort-a-list-by-multiple-attributes
http://stackoverflow.com/questions/20183069/how-to-sort-multidimensional-array-by-column
http://stackoverflow.com/questions/2173797/how-to-sort-2d-array-by-row-in-python
http://stackoverflow.com/questions/8609737/python-comparing-two-massive-sets-of-data-in-the-most-efficient-method-possible
http://stackoverflow.com/questions/4183506/python-list-sort-in-descending-order
http://stackoverflow.com/questions/16326529/python-get-process-names-cpu-mem-usage-and-peak-mem-usage-in-windows
python 按照cpu的使用率对top中的进程排序(排序表格)相关推荐
- linux的mysql占用cpu过高_linux 系统中Mysql 进程占用cpu过高的解决
mysql进程CPU使用率过高,开始报警了. 为了快速解决问题直接重启mysql服务后,再查sysql进程CPU使用率依旧高居不下.故障还没有解决,继续寻找原因. 3.登陆mysql数据库,执行sho ...
- Linux中Python应用CPU占用高问题排查
公司购买了一套由外部供应商提供的呼叫中心系统,在使用的过程中发现其LOAD和CPU占用偏高,由于没有源代码也不太清楚其内部的实现逻辑,只能够通过观察系统资源的消耗来排除其问题,以下记录的是问题排查的过 ...
- Android系统中的进程管理:进程的优先级
本文是Android进程管理系列文章的第二篇,会讲解进程管理中的优先级管理. 进程管理的第一篇文章:<进程的创建>请跳转至这里. 本文适合Android平台的应用程序开发者,也适合对于An ...
- linux中的进程有哪三种基本状态,Linux下的进程有哪三种状态?()
1.R (TASK_RUNNING)状态,可执行状态. 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CP ...
- Linux中Python程序CPU占用高排查
Linux中Python程序CPU占用高排查,Linux中Python程序CPU占用高排查,Linux中Python程序CPU占用高排查 kafka-python==2.0.2和 gevent 新版本 ...
- Android CPU使用率:top和dump cpuinfo的不同
CPU是系统非常重要的资源,在Android中,查看CPU使用情况,可以使用top命令和dump cpuinfo.我记得很久以前,就发现这两者存在不同,初步猜测应该是算法上存在差异.最近需要采集应用C ...
- php查看CPU信息,Linux_Linux中如何查看CPU的信息,top命令是Linux下常用的性能分 - phpStudy...
Linux中如何查看CPU的信息 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. top - 02: ...
- 解决linux中Kipmi0进程对CPU使用率很高问题
突然top发现Kipmi0进程一直占用近乎100%的一个核的资源,并且已经持续了很长一段时间. google查不到多少资料,看到一篇说法:是一些平台接口的管理器.不敢贸然杀死,再查查资料. 看看专业的 ...
- 用于Python中的进程和系统监视的跨平台库psutil
最近平台运行,出现一些问题,考虑如何设置监控.发现一个Python库,感觉非常实用.分享一下. psutil(Process and system实用程序)是一个跨平台库,用于检索运行过程和系统利用( ...
最新文章
- 总结 | 一些关于 CPU 的基本知识
- JDBC高级特性3--JNDI,连接池,分布式事务
- python基础知识理解
- Nginx隐藏PHP入口文件index.php
- 潮美之夜见证“夜拍王”诞生,荣耀10 GT照亮三里屯
- python如何控制程序_Python 控制程式执行流程
- DevExpress v17.2新版亮点—Analytics Dashboard篇(一)
- 在计算机系统中使用加载器,在个人计算机系统中从软盘加载基本输入/输出系统的设备和方法...
- android手机误删通讯录恢复
- green: JRE + Tomcat + Mysql - JaveEE JTM0.9
- text——Android下的默认字体详解
- linux关闭防火墙时出现问号乱码,linux文件名乱码问题的解决方...-tcp_wrappers防火墙配置方法-su 与 su - 的比较_169IT.COM...
- linux代码折叠,Ubuntu中gedit中插件的安装之代码折叠插件
- ThinkPad T61 X61安装XP系统的方法及xp驅動下載
- PHP 3D大富翁,大富翁3D版 Monopoly Classic HD
- 使用Clonezilla进行P2V,备份还原完整过程
- 数据库规范设计说明书
- 淘宝双11大数据分析(数据准备篇)
- matlab多元回归模型分析,matlab多元回归工具箱 Excel数据分析工具进行多元回归分析.doc...
- PPT转换成PDF后文档的背景色没有了怎么办?
热门文章
- Java金典题目 -- 狼追兔子(环形)
- 插画师入门技巧:青丛怎么画?5步教你学会画草丛!
- Linux userdel
- 打印机用计算机名慢,打印机打印文件特别慢怎么办_打印机打印文件特别慢如何解决-系统城...
- Hive - distinct group by 求 UV,PV 实战
- CISCO无线AP如何配置
- 全面理解Java内存模型
- 【ICCV 2019】Self-similarity Grouping: A Simple Unsupervised Cross DA Approach for Person Re-id(SSG)
- javaweb JAVA JSP购物系统jsp销售系统 (jsp电子商务系统,购物商城)甜品蛋糕在线购物系统案例
- PMBOK(第六版) PMP笔记——《二》第二章 项目运作环境