查看CPU占用高的top15进程

ps -eo pid,user,%cpu,%mem,argu --cols 150 | sort -nrk 3 | head -n 15

查看内存占用高的top15进程

ps -eo pid,user,%cpu,%mem,argu --cols 150 | sort -nrk 4 | head -n 15

查看IO占用高的top15进程

./ind_high_io_process.py 3 4 5。其中3表示间隔3秒获取一次数据。4表示获取读、写IO最高的前4个IO进程。5表示程序运行5次。

#!/bin/python
#-*- coding:utf-8 -*-
# Filename:    ind_high_io_process
# Revision:    1.0
# Date:        2013-3-8
# Author:      simonzhang
# web:         www.simonzhang.net
# Email:       simon-zzm@163.com
### END INIT INFO
import os
import re
import sys
import time
from string import stripsys_proc_path = '/proc/'
re_find_process_number = '^\d+$'#Get IO information from /proc/$pid/iodef collect_info():_tmp = {}re_find_process_dir = re.compile(re_find_process_number)for i in os.listdir(sys_proc_path):if re_find_process_dir.search(i):#get process name from /proc/${pid}/statprocess_name = open("%s%s/stat" % (sys_proc_path, i), "rb").read().split(" ")[1]# get io information from /proc/${pid}/iorw_io = open("%s%s/io" % (sys_proc_path, i), "rb").readlines()for _info in rw_io:cut_info = strip(_info).split(':')if strip(cut_info[0]) == "read_bytes":read_io = int(strip(cut_info[1]))if strip(cut_info[0]) == "write_bytes":write_io = int(strip(cut_info[1]))_tmp[i] = {"name":process_name, "read_bytes":read_io, "write_bytes":write_io}return _tmpdef main(_sleep_time, _list_num):_sort_read_dict = {}_sort_write_dict = {}#Get system io informationprocess_info_list_frist = collect_info()time.sleep(_sleep_time)process_info_list_second = collect_info()for loop in process_info_list_second.keys():second_read_v = process_info_list_second[loop]["read_bytes"]second_write_v = process_info_list_second[loop]["write_bytes"]try:frist_read_v = process_info_list_frist[loop]["read_bytes"]except:frist_read_v = 0try:frist_write_v = process_info_list_frist[loop]["write_bytes"]except:frist_write_v = 0# compute_sort_read_dict[loop] = second_read_v - frist_read_v_sort_write_dict[loop] = second_write_v - frist_write_v# sortsort_read_dict = sorted(_sort_read_dict.items(),key=lambda _sort_read_dict:_sort_read_dict[1],reverse=True)sort_write_dict = sorted(_sort_write_dict.items(),key=lambda _sort_write_dict:_sort_write_dict[1],reverse=True)# print resultprint "pid     process     read(bytes) pid     process     write(btyes)"for _num in range(_list_num):read_pid = sort_read_dict[_num][0]write_pid = sort_write_dict[_num][0]res = "%s" % read_pidres += " " * (8 - len(read_pid)) + process_info_list_second[read_pid]["name"]res += " " * (12 - len(process_info_list_second[read_pid]["name"])) + "%s" % sort_read_dict[_num][1]res += " " * (12 - len("%s" % sort_read_dict[_num][1])) + write_pidres += " " * (8 - len(write_pid)) + process_info_list_second[write_pid]["name"]res += " " * (12 - len("%s" % process_info_list_second[write_pid]["name"])) + "%s" % sort_write_dict[_num][1]print resprint "\n" * 1if __name__ == '__main__':try:_sleep_time = sys.argv[1]except:_sleep_time = 3try:_num = sys.argv[2]except:_num = 3try:loop = sys.argv[3]except:loop = 1for i in range(int(loop)):main(int(_sleep_time), int(_num))

参考资料

https://zhidao.baidu.com/question/1882904486137130588.html

转载于:https://www.cnblogs.com/linyfeng/p/6746115.html

Linux查看CPU、内存、IO占用高的进程相关推荐

  1. Linux 查看CPU 内存 IO使用率,linux 查看CPU内存 网络 流量 磁盘 IO

    使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? A: 在命 ...

  2. 如何查看linux网络io,linux 查看CPU内存 网络 流量 磁盘 IO

    使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? A: 在命 ...

  3. linux查看cpu 内存

    Linux查看物理CPU个数.核数.逻辑CPU个数 # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理 ...

  4. linux查看网卡连接哪个cpu,Linux查看CPU/内存/网卡/操作系统信息

    测试机器的硬件信息: 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CP ...

  5. python glances来监控linux服务器CPU 内存 IO使用

    什么是 Glances? Glances 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具. 通过 Glances,我们可以监视 ...

  6. linux性能测试cpu内存io,Linux下磁盘IO性能测试工具介绍

    近来想了解一下开发环境的IO性能,分别用dd/orion/iozone/bonnie++四种工具测试了一下 开发环境系统配置如下: Intel SR1625 server, 2 CPU, 32GB内存 ...

  7. linux查cpu和内存配置,Linux查看CPU和内存的配置信息

    CPU配置信息: frank@ubuntu:~/test/python$ cat /proc/cpuinfo processor : #系统中逻辑处理核的编号 vendor_id : GenuineI ...

  8. mysql 查看网络流量,linux 查看 CPU,内存,网络流量和磁盘 I/O

    linux 查看 CPU,内存,网络流量和磁盘 I/O 使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看C ...

  9. Linux查看CPU和内存使用情况(ps、free、htop、atop、nmon、/proc/meminfo等)

    文章目录 Linux查看CPU和内存使用情况 Linux查看CPU和内存命令:ps 查看系统内存命令:free free与available的区别 htop (推荐) 安装 htop 参数 常用 界面 ...

最新文章

  1. ML之RFDT:利用RF(RFR)、DT(DTR)两种算法实现对boston(波士顿房价)数据集进行训练并预测
  2. django的sqlite3的使用_2_第一个模型
  3. php结尾的链接_优化 PHP 代码建议(结尾有彩蛋)
  4. python requests超时时间_python - requests 库 使用过程中timeout值最大可设值?
  5. 前端学习(3022):vue+element今日头条管理-首页layont布局
  6. linux 破解版confluence安装
  7. python中print不显示结果_Python中的print()函数
  8. alter procedure是什么意思_板上钉钉的意思
  9. Zookeeper-入门-安装
  10. 谁来结束 GUI 程序?| CSDN 博文精选
  11. vscode怎么弄php,vscode怎么同步配置
  12. 【动态规划】蓝桥2020:画廊
  13. android 抽屉关闭时的卡顿
  14. thinkphp的项目分组
  15. ad13批量安装元件库_AD18元件库下载及导入方法
  16. windows自带录屏_电脑版免费的录屏软件有哪些?
  17. Linux操作系统思维导图
  18. linux 消息队列
  19. java导出可运行文件格式,|java导出excel,excel打不开,报文件格式无效,怎么解决!...
  20. 【矩阵计算】QR分解-基于Householder变换

热门文章

  1. Spring Boot错误处理机制以及定制自己的错误页面
  2. Java 7 并发编程指南
  3. CTFshow php特性 web105
  4. CTFshow 文件包含 web87
  5. 【HDU1582 HDU1452 HDU1098 HDU3524 HDU1005 HDU2623 HDU2674】
  6. poj3258 River Hopscotch (二分搜索,考虑最大值最小问题)
  7. [YTU]_2476(E3 继承了,成员函数却不可访问)
  8. 埃尔米特插值(等距节点,只用一个点的导数构造n+1阶Hermite多项式)Python实现
  9. mqtt 异步消息 长连接 解析
  10. Java EE 课程作业(second)-- 企业级应用和互联网应用的区别